# 1 "../smithwaterman.cu"
# 46 "/opt/cuda/bin/../include/device_types.h"
#if 0
# 46
enum cudaRoundMode { 
# 48
cudaRoundNearest, 
# 49
cudaRoundZero, 
# 50
cudaRoundPosInf, 
# 51
cudaRoundMinInf
# 52
}; 
#endif
# 149 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h" 3
typedef long ptrdiff_t; 
# 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h" 3
typedef unsigned long size_t; 
#include "crt/host_runtime.h"
# 92 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 92
enum cudaError { 
# 94
cudaSuccess, 
# 95
cudaErrorMissingConfiguration, 
# 96
cudaErrorMemoryAllocation, 
# 97
cudaErrorInitializationError, 
# 98
cudaErrorLaunchFailure, 
# 99
cudaErrorPriorLaunchFailure, 
# 100
cudaErrorLaunchTimeout, 
# 101
cudaErrorLaunchOutOfResources, 
# 102
cudaErrorInvalidDeviceFunction, 
# 103
cudaErrorInvalidConfiguration, 
# 104
cudaErrorInvalidDevice, 
# 105
cudaErrorInvalidValue, 
# 106
cudaErrorInvalidPitchValue, 
# 107
cudaErrorInvalidSymbol, 
# 108
cudaErrorMapBufferObjectFailed, 
# 109
cudaErrorUnmapBufferObjectFailed, 
# 110
cudaErrorInvalidHostPointer, 
# 111
cudaErrorInvalidDevicePointer, 
# 112
cudaErrorInvalidTexture, 
# 113
cudaErrorInvalidTextureBinding, 
# 114
cudaErrorInvalidChannelDescriptor, 
# 115
cudaErrorInvalidMemcpyDirection, 
# 116
cudaErrorAddressOfConstant, 
# 117
cudaErrorTextureFetchFailed, 
# 118
cudaErrorTextureNotBound, 
# 119
cudaErrorSynchronizationError, 
# 120
cudaErrorInvalidFilterSetting, 
# 121
cudaErrorInvalidNormSetting, 
# 122
cudaErrorMixedDeviceExecution, 
# 123
cudaErrorCudartUnloading, 
# 124
cudaErrorUnknown, 
# 125
cudaErrorNotYetImplemented, 
# 126
cudaErrorMemoryValueTooLarge, 
# 127
cudaErrorInvalidResourceHandle, 
# 128
cudaErrorNotReady, 
# 129
cudaErrorInsufficientDriver, 
# 130
cudaErrorSetOnActiveProcess, 
# 131
cudaErrorNoDevice = 38, 
# 132
cudaErrorECCUncorrectable, 
# 133
cudaErrorStartupFailure = 127, 
# 134
cudaErrorApiFailureBase = 10000
# 135
}; 
#endif
# 141 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 141
enum cudaChannelFormatKind { 
# 143
cudaChannelFormatKindSigned, 
# 144
cudaChannelFormatKindUnsigned, 
# 145
cudaChannelFormatKindFloat, 
# 146
cudaChannelFormatKindNone
# 147
}; 
#endif
# 153 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 153
struct cudaChannelFormatDesc { 
# 155
int x; 
# 156
int y; 
# 157
int z; 
# 158
int w; 
# 159
cudaChannelFormatKind f; 
# 160
}; 
#endif
# 166 "/opt/cuda/bin/../include/driver_types.h"
#if 0
struct cudaArray; 
#endif
# 172 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 172
enum cudaMemcpyKind { 
# 174
cudaMemcpyHostToHost, 
# 175
cudaMemcpyHostToDevice, 
# 176
cudaMemcpyDeviceToHost, 
# 177
cudaMemcpyDeviceToDevice
# 178
}; 
#endif
# 185 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 185
struct cudaPitchedPtr { 
# 187
void *ptr; 
# 188
size_t pitch; 
# 189
size_t xsize; 
# 190
size_t ysize; 
# 191
}; 
#endif
# 198 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 198
struct cudaExtent { 
# 200
size_t width; 
# 201
size_t height; 
# 202
size_t depth; 
# 203
}; 
#endif
# 210 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 210
struct cudaPos { 
# 212
size_t x; 
# 213
size_t y; 
# 214
size_t z; 
# 215
}; 
#endif
# 221 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 221
struct cudaMemcpy3DParms { 
# 223
cudaArray *srcArray; 
# 224
cudaPos srcPos; 
# 225
cudaPitchedPtr srcPtr; 
# 227
cudaArray *dstArray; 
# 228
cudaPos dstPos; 
# 229
cudaPitchedPtr dstPtr; 
# 231
cudaExtent extent; 
# 232
cudaMemcpyKind kind; 
# 233
}; 
#endif
# 239 "/opt/cuda/bin/../include/driver_types.h"
#if 0
struct cudaGraphicsResource; 
#endif
# 245 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 245
enum cudaGraphicsRegisterFlags { 
# 247
cudaGraphicsRegisterFlagsNone
# 248
}; 
#endif
# 254 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 254
enum cudaGraphicsMapFlags { 
# 256
cudaGraphicsMapFlagsNone, 
# 257
cudaGraphicsMapFlagsReadOnly, 
# 258
cudaGraphicsMapFlagsWriteDiscard
# 259
}; 
#endif
# 265 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 265
enum cudaGraphicsCubeFace { 
# 266
cudaGraphicsCubeFacePositiveX, 
# 267
cudaGraphicsCubeFaceNegativeX, 
# 268
cudaGraphicsCubeFacePositiveY, 
# 269
cudaGraphicsCubeFaceNegativeY, 
# 270
cudaGraphicsCubeFacePositiveZ, 
# 271
cudaGraphicsCubeFaceNegativeZ
# 272
}; 
#endif
# 278 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 278
struct cudaFuncAttributes { 
# 280
size_t sharedSizeBytes; 
# 281
size_t constSizeBytes; 
# 282
size_t localSizeBytes; 
# 283
int maxThreadsPerBlock; 
# 284
int numRegs; 
# 290
int ptxVersion; 
# 296
int binaryVersion; 
# 297
int __cudaReserved[6]; 
# 298
}; 
#endif
# 304 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 304
enum cudaFuncCache { 
# 306
cudaFuncCachePreferNone, 
# 307
cudaFuncCachePreferShared, 
# 308
cudaFuncCachePreferL1
# 309
}; 
#endif
# 315 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 315
enum cudaComputeMode { 
# 317
cudaComputeModeDefault, 
# 318
cudaComputeModeExclusive, 
# 319
cudaComputeModeProhibited
# 320
}; 
#endif
# 326 "/opt/cuda/bin/../include/driver_types.h"
#if 0
# 326
struct cudaDeviceProp { 
# 328
char name[256]; 
# 329
size_t totalGlobalMem; 
# 330
size_t sharedMemPerBlock; 
# 331
int regsPerBlock; 
# 332
int warpSize; 
# 333
size_t memPitch; 
# 334
int maxThreadsPerBlock; 
# 335
int maxThreadsDim[3]; 
# 336
int maxGridSize[3]; 
# 337
int clockRate; 
# 338
size_t totalConstMem; 
# 339
int major; 
# 340
int minor; 
# 341
size_t textureAlignment; 
# 342
int deviceOverlap; 
# 343
int multiProcessorCount; 
# 344
int kernelExecTimeoutEnabled; 
# 345
int integrated; 
# 346
int canMapHostMemory; 
# 347
int computeMode; 
# 348
int maxTexture1D; 
# 349
int maxTexture2D[2]; 
# 350
int maxTexture3D[3]; 
# 351
int maxTexture2DArray[3]; 
# 352
int concurrentKernels; 
# 353
int __cudaReserved[26]; 
# 354
}; 
#endif
# 395 "/opt/cuda/bin/../include/driver_types.h"
#if 0
typedef cudaError 
# 395
cudaError_t; 
#endif
# 401 "/opt/cuda/bin/../include/driver_types.h"
#if 0
typedef int 
# 401
cudaStream_t; 
#endif
# 407 "/opt/cuda/bin/../include/driver_types.h"
#if 0
typedef int 
# 407
cudaEvent_t; 
#endif
# 54 "/opt/cuda/bin/../include/texture_types.h"
#if 0
# 54
enum cudaTextureAddressMode { 
# 56
cudaAddressModeWrap, 
# 57
cudaAddressModeClamp, 
# 58
cudaAddressModeMirror
# 59
}; 
#endif
# 62 "/opt/cuda/bin/../include/texture_types.h"
#if 0
# 62
enum cudaTextureFilterMode { 
# 64
cudaFilterModePoint, 
# 65
cudaFilterModeLinear
# 66
}; 
#endif
# 69 "/opt/cuda/bin/../include/texture_types.h"
#if 0
# 69
enum cudaTextureReadMode { 
# 71
cudaReadModeElementType, 
# 72
cudaReadModeNormalizedFloat
# 73
}; 
#endif
# 76 "/opt/cuda/bin/../include/texture_types.h"
#if 0
# 76
struct textureReference { 
# 78
int normalized; 
# 79
cudaTextureFilterMode filterMode; 
# 80
cudaTextureAddressMode addressMode[3]; 
# 81
cudaChannelFormatDesc channelDesc; 
# 82
int __cudaReserved[16]; 
# 83
}; 
#endif
# 82 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 82
struct char1 { 
# 84
signed char x; 
# 86
}; 
#endif
# 89 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 89
struct uchar1 { 
# 91
unsigned char x; 
# 93
}; 
#endif
# 96 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 96
struct __attribute__((__aligned__(2))) char2 { 
# 98
signed char x, y; 
# 100
}; 
#endif
# 103 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 103
struct __attribute__((__aligned__(2))) uchar2 { 
# 105
unsigned char x, y; 
# 107
}; 
#endif
# 110 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 110
struct char3 { 
# 112
signed char x, y, z; 
# 114
}; 
#endif
# 117 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 117
struct uchar3 { 
# 119
unsigned char x, y, z; 
# 121
}; 
#endif
# 124 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 124
struct __attribute__((__aligned__(4))) char4 { 
# 126
signed char x, y, z, w; 
# 128
}; 
#endif
# 131 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 131
struct __attribute__((__aligned__(4))) uchar4 { 
# 133
unsigned char x, y, z, w; 
# 135
}; 
#endif
# 138 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 138
struct short1 { 
# 140
short x; 
# 142
}; 
#endif
# 145 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 145
struct ushort1 { 
# 147
unsigned short x; 
# 149
}; 
#endif
# 152 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 152
struct __attribute__((__aligned__(4))) short2 { 
# 154
short x, y; 
# 156
}; 
#endif
# 159 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 159
struct __attribute__((__aligned__(4))) ushort2 { 
# 161
unsigned short x, y; 
# 163
}; 
#endif
# 166 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 166
struct short3 { 
# 168
short x, y, z; 
# 170
}; 
#endif
# 173 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 173
struct ushort3 { 
# 175
unsigned short x, y, z; 
# 177
}; 
#endif
# 180 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 180
struct __attribute__((__aligned__(8))) short4 { short x, y, z, w; }; 
#endif
# 183 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 183
struct __attribute__((__aligned__(8))) ushort4 { unsigned short x, y, z, w; }; 
#endif
# 186 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 186
struct int1 { 
# 188
int x; 
# 190
}; 
#endif
# 193 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 193
struct uint1 { 
# 195
unsigned x; 
# 197
}; 
#endif
# 200 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 200
struct __attribute__((__aligned__(8))) int2 { int x, y; }; 
#endif
# 203 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 203
struct __attribute__((__aligned__(8))) uint2 { unsigned x, y; }; 
#endif
# 206 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 206
struct int3 { 
# 208
int x, y, z; 
# 210
}; 
#endif
# 213 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 213
struct uint3 { 
# 215
unsigned x, y, z; 
# 217
}; 
#endif
# 220 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 220
struct __attribute__((__aligned__(16))) int4 { 
# 222
int x, y, z, w; 
# 224
}; 
#endif
# 227 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 227
struct __attribute__((__aligned__(16))) uint4 { 
# 229
unsigned x, y, z, w; 
# 231
}; 
#endif
# 234 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 234
struct long1 { 
# 236
long x; 
# 238
}; 
#endif
# 241 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 241
struct ulong1 { 
# 243
unsigned long x; 
# 245
}; 
#endif
# 258 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 258
struct __attribute__((__aligned__(16))) long2 { 
# 260
long x, y; 
# 262
}; 
#endif
# 265 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 265
struct __attribute__((__aligned__(16))) ulong2 { 
# 267
unsigned long x, y; 
# 269
}; 
#endif
# 274 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 274
struct long3 { 
# 276
long x, y, z; 
# 278
}; 
#endif
# 281 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 281
struct ulong3 { 
# 283
unsigned long x, y, z; 
# 285
}; 
#endif
# 288 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 288
struct __attribute__((__aligned__(16))) long4 { 
# 290
long x, y, z, w; 
# 292
}; 
#endif
# 295 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 295
struct __attribute__((__aligned__(16))) ulong4 { 
# 297
unsigned long x, y, z, w; 
# 299
}; 
#endif
# 302 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 302
struct float1 { 
# 304
float x; 
# 306
}; 
#endif
# 309 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 309
struct __attribute__((__aligned__(8))) float2 { float x, y; }; 
#endif
# 312 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 312
struct float3 { 
# 314
float x, y, z; 
# 316
}; 
#endif
# 319 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 319
struct __attribute__((__aligned__(16))) float4 { 
# 321
float x, y, z, w; 
# 323
}; 
#endif
# 326 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 326
struct longlong1 { 
# 328
long long x; 
# 330
}; 
#endif
# 333 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 333
struct ulonglong1 { 
# 335
unsigned long long x; 
# 337
}; 
#endif
# 340 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 340
struct __attribute__((__aligned__(16))) longlong2 { 
# 342
long long x, y; 
# 344
}; 
#endif
# 347 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 347
struct __attribute__((__aligned__(16))) ulonglong2 { 
# 349
unsigned long long x, y; 
# 351
}; 
#endif
# 354 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 354
struct longlong3 { 
# 356
long long x, y, z; 
# 358
}; 
#endif
# 361 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 361
struct ulonglong3 { 
# 363
unsigned long long x, y, z; 
# 365
}; 
#endif
# 368 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 368
struct __attribute__((__aligned__(16))) longlong4 { 
# 370
long long x, y, z, w; 
# 372
}; 
#endif
# 375 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 375
struct __attribute__((__aligned__(16))) ulonglong4 { 
# 377
unsigned long long x, y, z, w; 
# 379
}; 
#endif
# 382 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 382
struct double1 { 
# 384
double x; 
# 386
}; 
#endif
# 389 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 389
struct __attribute__((__aligned__(16))) double2 { 
# 391
double x, y; 
# 393
}; 
#endif
# 396 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 396
struct double3 { 
# 398
double x, y, z; 
# 400
}; 
#endif
# 403 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 403
struct __attribute__((__aligned__(16))) double4 { 
# 405
double x, y, z, w; 
# 407
}; 
#endif
# 416 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef char1 
# 416
char1; 
#endif
# 418 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uchar1 
# 418
uchar1; 
#endif
# 420 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef char2 
# 420
char2; 
#endif
# 422 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uchar2 
# 422
uchar2; 
#endif
# 424 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef char3 
# 424
char3; 
#endif
# 426 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uchar3 
# 426
uchar3; 
#endif
# 428 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef char4 
# 428
char4; 
#endif
# 430 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uchar4 
# 430
uchar4; 
#endif
# 432 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef short1 
# 432
short1; 
#endif
# 434 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ushort1 
# 434
ushort1; 
#endif
# 436 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef short2 
# 436
short2; 
#endif
# 438 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ushort2 
# 438
ushort2; 
#endif
# 440 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef short3 
# 440
short3; 
#endif
# 442 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ushort3 
# 442
ushort3; 
#endif
# 444 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef short4 
# 444
short4; 
#endif
# 446 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ushort4 
# 446
ushort4; 
#endif
# 448 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef int1 
# 448
int1; 
#endif
# 450 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uint1 
# 450
uint1; 
#endif
# 452 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef int2 
# 452
int2; 
#endif
# 454 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uint2 
# 454
uint2; 
#endif
# 456 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef int3 
# 456
int3; 
#endif
# 458 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uint3 
# 458
uint3; 
#endif
# 460 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef int4 
# 460
int4; 
#endif
# 462 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef uint4 
# 462
uint4; 
#endif
# 464 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef long1 
# 464
long1; 
#endif
# 466 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulong1 
# 466
ulong1; 
#endif
# 468 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef long2 
# 468
long2; 
#endif
# 470 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulong2 
# 470
ulong2; 
#endif
# 472 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef long3 
# 472
long3; 
#endif
# 474 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulong3 
# 474
ulong3; 
#endif
# 476 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef long4 
# 476
long4; 
#endif
# 478 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulong4 
# 478
ulong4; 
#endif
# 480 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef float1 
# 480
float1; 
#endif
# 482 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef float2 
# 482
float2; 
#endif
# 484 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef float3 
# 484
float3; 
#endif
# 486 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef float4 
# 486
float4; 
#endif
# 488 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef longlong1 
# 488
longlong1; 
#endif
# 490 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulonglong1 
# 490
ulonglong1; 
#endif
# 492 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef longlong2 
# 492
longlong2; 
#endif
# 494 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulonglong2 
# 494
ulonglong2; 
#endif
# 496 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef longlong3 
# 496
longlong3; 
#endif
# 498 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulonglong3 
# 498
ulonglong3; 
#endif
# 500 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef longlong4 
# 500
longlong4; 
#endif
# 502 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef ulonglong4 
# 502
ulonglong4; 
#endif
# 504 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef double1 
# 504
double1; 
#endif
# 506 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef double2 
# 506
double2; 
#endif
# 508 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef double3 
# 508
double3; 
#endif
# 510 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef double4 
# 510
double4; 
#endif
# 519 "/opt/cuda/bin/../include/vector_types.h"
#if 0
# 519
struct dim3 { 
# 521
unsigned x, y, z; 
# 527
}; 
#endif
# 530 "/opt/cuda/bin/../include/vector_types.h"
#if 0
typedef dim3 
# 530
dim3; 
#endif
# 89 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern "C" cudaError_t cudaMalloc3D(cudaPitchedPtr *, cudaExtent); 
# 90
extern "C" cudaError_t cudaMalloc3DArray(cudaArray **, const cudaChannelFormatDesc *, cudaExtent); 
# 91
extern "C" cudaError_t cudaMemset3D(cudaPitchedPtr, int, cudaExtent); 
# 92
extern "C" cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms *); 
# 93
extern "C" cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms *, cudaStream_t = 0); 
# 101
extern "C" cudaError_t cudaMalloc(void **, size_t); 
# 102
extern "C" cudaError_t cudaMallocHost(void **, size_t); 
# 103
extern "C" cudaError_t cudaMallocPitch(void **, size_t *, size_t, size_t); 
# 104
extern "C" cudaError_t cudaMallocArray(cudaArray **, const cudaChannelFormatDesc *, size_t, size_t = (1)); 
# 105
extern "C" cudaError_t cudaFree(void *); 
# 106
extern "C" cudaError_t cudaFreeHost(void *); 
# 107
extern "C" cudaError_t cudaFreeArray(cudaArray *); 
# 109
extern "C" cudaError_t cudaHostAlloc(void **, size_t, unsigned); 
# 110
extern "C" cudaError_t cudaHostGetDevicePointer(void **, void *, unsigned); 
# 111
extern "C" cudaError_t cudaHostGetFlags(unsigned *, void *); 
# 119
extern "C" cudaError_t cudaMemGetInfo(size_t *, size_t *); 
# 120
extern "C" cudaError_t cudaMemcpy(void *, const void *, size_t, cudaMemcpyKind); 
# 121
extern "C" cudaError_t cudaMemcpyToArray(cudaArray *, size_t, size_t, const void *, size_t, cudaMemcpyKind); 
# 122
extern "C" cudaError_t cudaMemcpyFromArray(void *, const cudaArray *, size_t, size_t, size_t, cudaMemcpyKind); 
# 123
extern "C" cudaError_t cudaMemcpyArrayToArray(cudaArray *, size_t, size_t, const cudaArray *, size_t, size_t, size_t, cudaMemcpyKind = cudaMemcpyDeviceToDevice); 
# 124
extern "C" cudaError_t cudaMemcpy2D(void *, size_t, const void *, size_t, size_t, size_t, cudaMemcpyKind); 
# 125
extern "C" cudaError_t cudaMemcpy2DToArray(cudaArray *, size_t, size_t, const void *, size_t, size_t, size_t, cudaMemcpyKind); 
# 126
extern "C" cudaError_t cudaMemcpy2DFromArray(void *, size_t, const cudaArray *, size_t, size_t, size_t, size_t, cudaMemcpyKind); 
# 127
extern "C" cudaError_t cudaMemcpy2DArrayToArray(cudaArray *, size_t, size_t, const cudaArray *, size_t, size_t, size_t, size_t, cudaMemcpyKind = cudaMemcpyDeviceToDevice); 
# 128
extern "C" cudaError_t cudaMemcpyToSymbol(const char *, const void *, size_t, size_t = (0), cudaMemcpyKind = cudaMemcpyHostToDevice); 
# 129
extern "C" cudaError_t cudaMemcpyFromSymbol(void *, const char *, size_t, size_t = (0), cudaMemcpyKind = cudaMemcpyDeviceToHost); 
# 137
extern "C" cudaError_t cudaMemcpyAsync(void *, const void *, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 138
extern "C" cudaError_t cudaMemcpyToArrayAsync(cudaArray *, size_t, size_t, const void *, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 139
extern "C" cudaError_t cudaMemcpyFromArrayAsync(void *, const cudaArray *, size_t, size_t, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 140
extern "C" cudaError_t cudaMemcpy2DAsync(void *, size_t, const void *, size_t, size_t, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 141
extern "C" cudaError_t cudaMemcpy2DToArrayAsync(cudaArray *, size_t, size_t, const void *, size_t, size_t, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 142
extern "C" cudaError_t cudaMemcpy2DFromArrayAsync(void *, size_t, const cudaArray *, size_t, size_t, size_t, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 143
extern "C" cudaError_t cudaMemcpyToSymbolAsync(const char *, const void *, size_t, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 144
extern "C" cudaError_t cudaMemcpyFromSymbolAsync(void *, const char *, size_t, size_t, cudaMemcpyKind, cudaStream_t = 0); 
# 152
extern "C" cudaError_t cudaMemset(void *, int, size_t); 
# 153
extern "C" cudaError_t cudaMemset2D(void *, size_t, int, size_t, size_t); 
# 161
extern "C" cudaError_t cudaGetSymbolAddress(void **, const char *); 
# 162
extern "C" cudaError_t cudaGetSymbolSize(size_t *, const char *); 
# 170
extern "C" cudaError_t cudaGetDeviceCount(int *); 
# 171
extern "C" cudaError_t cudaGetDeviceProperties(cudaDeviceProp *, int); 
# 172
extern "C" cudaError_t cudaChooseDevice(int *, const cudaDeviceProp *); 
# 173
extern "C" cudaError_t cudaSetDevice(int); 
# 174
extern "C" cudaError_t cudaGetDevice(int *); 
# 175
extern "C" cudaError_t cudaSetValidDevices(int *, int); 
# 176
extern "C" cudaError_t cudaSetDeviceFlags(int); 
# 184
extern "C" cudaError_t cudaBindTexture(size_t *, const textureReference *, const void *, const cudaChannelFormatDesc *, size_t = (((2147483647) * 2U) + 1U)); 
# 185
extern "C" cudaError_t cudaBindTexture2D(size_t *, const textureReference *, const void *, const cudaChannelFormatDesc *, size_t, size_t, size_t); 
# 186
extern "C" cudaError_t cudaBindTextureToArray(const textureReference *, const cudaArray *, const cudaChannelFormatDesc *); 
# 187
extern "C" cudaError_t cudaUnbindTexture(const textureReference *); 
# 188
extern "C" cudaError_t cudaGetTextureAlignmentOffset(size_t *, const textureReference *); 
# 189
extern "C" cudaError_t cudaGetTextureReference(const textureReference **, const char *); 
# 197
extern "C" cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc *, const cudaArray *); 
# 198
extern "C" cudaChannelFormatDesc cudaCreateChannelDesc(int, int, int, int, cudaChannelFormatKind); 
# 206
extern "C" cudaError_t cudaGetLastError(); 
# 207
extern "C" const char *cudaGetErrorString(cudaError_t); 
# 215
extern "C" cudaError_t cudaConfigureCall(dim3, dim3, size_t = (0), cudaStream_t = 0); 
# 216
extern "C" cudaError_t cudaSetupArgument(const void *, size_t, size_t); 
# 217
extern "C" cudaError_t cudaFuncSetCacheConfig(const char *, cudaFuncCache); 
# 218
extern "C" cudaError_t cudaLaunch(const char *); 
# 219
extern "C" cudaError_t cudaFuncGetAttributes(cudaFuncAttributes *, const char *); 
# 227
extern "C" cudaError_t cudaStreamCreate(cudaStream_t *); 
# 228
extern "C" cudaError_t cudaStreamDestroy(cudaStream_t); 
# 229
extern "C" cudaError_t cudaStreamSynchronize(cudaStream_t); 
# 230
extern "C" cudaError_t cudaStreamQuery(cudaStream_t); 
# 238
extern "C" cudaError_t cudaEventCreate(cudaEvent_t *); 
# 239
extern "C" cudaError_t cudaEventCreateWithFlags(cudaEvent_t *, int); 
# 240
extern "C" cudaError_t cudaEventRecord(cudaEvent_t, cudaStream_t = 0); 
# 241
extern "C" cudaError_t cudaEventQuery(cudaEvent_t); 
# 242
extern "C" cudaError_t cudaEventSynchronize(cudaEvent_t); 
# 243
extern "C" cudaError_t cudaEventDestroy(cudaEvent_t); 
# 244
extern "C" cudaError_t cudaEventElapsedTime(float *, cudaEvent_t, cudaEvent_t); 
# 252
extern "C" cudaError_t cudaSetDoubleForDevice(double *); 
# 253
extern "C" cudaError_t cudaSetDoubleForHost(double *); 
# 261
extern "C" cudaError_t cudaThreadExit(); 
# 262
extern "C" cudaError_t cudaThreadSynchronize(); 
# 270
extern "C" cudaError_t cudaDriverGetVersion(int *); 
# 271
extern "C" cudaError_t cudaRuntimeGetVersion(int *); 
# 279
extern "C" cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource *); 
# 280
extern "C" cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource *, unsigned); 
# 281
extern "C" cudaError_t cudaGraphicsMapResources(int, cudaGraphicsResource **, cudaStream_t = 0); 
# 282
extern "C" cudaError_t cudaGraphicsUnmapResources(int, cudaGraphicsResource **, cudaStream_t = 0); 
# 283
extern "C" cudaError_t cudaGraphicsResourceGetMappedPointer(void **, size_t *, cudaGraphicsResource *); 
# 284
extern "C" cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray **, cudaGraphicsResource *, unsigned, unsigned); 
# 93 "/opt/cuda/bin/../include/channel_descriptor.h"
template<class T> inline cudaChannelFormatDesc cudaCreateChannelDesc() 
# 94
{ 
# 95
return cudaCreateChannelDesc(0, 0, 0, 0, cudaChannelFormatKindNone); 
# 96
} 
# 98
static inline cudaChannelFormatDesc cudaCreateChannelDescHalf() 
# 99
{ 
# 100
int e = (((int)sizeof(unsigned short)) * 8); 
# 102
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat); 
# 103
} 
# 105
static inline cudaChannelFormatDesc cudaCreateChannelDescHalf1() 
# 106
{ 
# 107
int e = (((int)sizeof(unsigned short)) * 8); 
# 109
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat); 
# 110
} 
# 112
static inline cudaChannelFormatDesc cudaCreateChannelDescHalf2() 
# 113
{ 
# 114
int e = (((int)sizeof(unsigned short)) * 8); 
# 116
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindFloat); 
# 117
} 
# 119
static inline cudaChannelFormatDesc cudaCreateChannelDescHalf4() 
# 120
{ 
# 121
int e = (((int)sizeof(unsigned short)) * 8); 
# 123
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindFloat); 
# 124
} 
# 126
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char> () 
# 127
{ 
# 128
int e = (((int)sizeof(char)) * 8); 
# 133
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 135
} 
# 137
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< signed char> () 
# 138
{ 
# 139
int e = (((int)sizeof(signed char)) * 8); 
# 141
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned); 
# 142
} 
# 144
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< unsigned char> () 
# 145
{ 
# 146
int e = (((int)sizeof(unsigned char)) * 8); 
# 148
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 149
} 
# 151
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char1> () 
# 152
{ 
# 153
int e = (((int)sizeof(signed char)) * 8); 
# 155
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned); 
# 156
} 
# 158
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uchar1> () 
# 159
{ 
# 160
int e = (((int)sizeof(unsigned char)) * 8); 
# 162
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 163
} 
# 165
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char2> () 
# 166
{ 
# 167
int e = (((int)sizeof(signed char)) * 8); 
# 169
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindSigned); 
# 170
} 
# 172
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uchar2> () 
# 173
{ 
# 174
int e = (((int)sizeof(unsigned char)) * 8); 
# 176
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindUnsigned); 
# 177
} 
# 179
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char4> () 
# 180
{ 
# 181
int e = (((int)sizeof(signed char)) * 8); 
# 183
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindSigned); 
# 184
} 
# 186
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uchar4> () 
# 187
{ 
# 188
int e = (((int)sizeof(unsigned char)) * 8); 
# 190
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindUnsigned); 
# 191
} 
# 193
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short> () 
# 194
{ 
# 195
int e = (((int)sizeof(short)) * 8); 
# 197
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned); 
# 198
} 
# 200
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< unsigned short> () 
# 201
{ 
# 202
int e = (((int)sizeof(unsigned short)) * 8); 
# 204
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 205
} 
# 207
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short1> () 
# 208
{ 
# 209
int e = (((int)sizeof(short)) * 8); 
# 211
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned); 
# 212
} 
# 214
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< ushort1> () 
# 215
{ 
# 216
int e = (((int)sizeof(unsigned short)) * 8); 
# 218
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 219
} 
# 221
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short2> () 
# 222
{ 
# 223
int e = (((int)sizeof(short)) * 8); 
# 225
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindSigned); 
# 226
} 
# 228
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< ushort2> () 
# 229
{ 
# 230
int e = (((int)sizeof(unsigned short)) * 8); 
# 232
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindUnsigned); 
# 233
} 
# 235
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short4> () 
# 236
{ 
# 237
int e = (((int)sizeof(short)) * 8); 
# 239
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindSigned); 
# 240
} 
# 242
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< ushort4> () 
# 243
{ 
# 244
int e = (((int)sizeof(unsigned short)) * 8); 
# 246
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindUnsigned); 
# 247
} 
# 249
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int> () 
# 250
{ 
# 251
int e = (((int)sizeof(int)) * 8); 
# 253
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned); 
# 254
} 
# 256
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< unsigned> () 
# 257
{ 
# 258
int e = (((int)sizeof(unsigned)) * 8); 
# 260
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 261
} 
# 263
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int1> () 
# 264
{ 
# 265
int e = (((int)sizeof(int)) * 8); 
# 267
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned); 
# 268
} 
# 270
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uint1> () 
# 271
{ 
# 272
int e = (((int)sizeof(unsigned)) * 8); 
# 274
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned); 
# 275
} 
# 277
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int2> () 
# 278
{ 
# 279
int e = (((int)sizeof(int)) * 8); 
# 281
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindSigned); 
# 282
} 
# 284
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uint2> () 
# 285
{ 
# 286
int e = (((int)sizeof(unsigned)) * 8); 
# 288
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindUnsigned); 
# 289
} 
# 291
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int4> () 
# 292
{ 
# 293
int e = (((int)sizeof(int)) * 8); 
# 295
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindSigned); 
# 296
} 
# 298
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uint4> () 
# 299
{ 
# 300
int e = (((int)sizeof(unsigned)) * 8); 
# 302
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindUnsigned); 
# 303
} 
# 365 "/opt/cuda/bin/../include/channel_descriptor.h"
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float> () 
# 366
{ 
# 367
int e = (((int)sizeof(float)) * 8); 
# 369
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat); 
# 370
} 
# 372
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float1> () 
# 373
{ 
# 374
int e = (((int)sizeof(float)) * 8); 
# 376
return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat); 
# 377
} 
# 379
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float2> () 
# 380
{ 
# 381
int e = (((int)sizeof(float)) * 8); 
# 383
return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindFloat); 
# 384
} 
# 386
template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float4> () 
# 387
{ 
# 388
int e = (((int)sizeof(float)) * 8); 
# 390
return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindFloat); 
# 391
} 
# 54 "/opt/cuda/bin/../include/driver_functions.h"
static inline cudaPitchedPtr make_cudaPitchedPtr(void *d, size_t p, size_t xsz, size_t ysz) 
# 55
{ 
# 56
cudaPitchedPtr s; 
# 58
(s.ptr) = d; 
# 59
(s.pitch) = p; 
# 60
(s.xsize) = xsz; 
# 61
(s.ysize) = ysz; 
# 63
return s; 
# 64
} 
# 66
static inline cudaPos make_cudaPos(size_t x, size_t y, size_t z) 
# 67
{ 
# 68
cudaPos p; 
# 70
(p.x) = x; 
# 71
(p.y) = y; 
# 72
(p.z) = z; 
# 74
return p; 
# 75
} 
# 77
static inline cudaExtent make_cudaExtent(size_t w, size_t h, size_t d) 
# 78
{ 
# 79
cudaExtent e; 
# 81
(e.width) = w; 
# 82
(e.height) = h; 
# 83
(e.depth) = d; 
# 85
return e; 
# 86
} 
# 54 "/opt/cuda/bin/../include/vector_functions.h"
static inline char1 make_char1(signed char x) 
# 55
{ 
# 56
char1 t; (t.x) = x; return t; 
# 57
} 
# 59
static inline uchar1 make_uchar1(unsigned char x) 
# 60
{ 
# 61
uchar1 t; (t.x) = x; return t; 
# 62
} 
# 64
static inline char2 make_char2(signed char x, signed char y) 
# 65
{ 
# 66
char2 t; (t.x) = x; (t.y) = y; return t; 
# 67
} 
# 69
static inline uchar2 make_uchar2(unsigned char x, unsigned char y) 
# 70
{ 
# 71
uchar2 t; (t.x) = x; (t.y) = y; return t; 
# 72
} 
# 74
static inline char3 make_char3(signed char x, signed char y, signed char z) 
# 75
{ 
# 76
char3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 77
} 
# 79
static inline uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z) 
# 80
{ 
# 81
uchar3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 82
} 
# 84
static inline char4 make_char4(signed char x, signed char y, signed char z, signed char w) 
# 85
{ 
# 86
char4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 87
} 
# 89
static inline uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w) 
# 90
{ 
# 91
uchar4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 92
} 
# 94
static inline short1 make_short1(short x) 
# 95
{ 
# 96
short1 t; (t.x) = x; return t; 
# 97
} 
# 99
static inline ushort1 make_ushort1(unsigned short x) 
# 100
{ 
# 101
ushort1 t; (t.x) = x; return t; 
# 102
} 
# 104
static inline short2 make_short2(short x, short y) 
# 105
{ 
# 106
short2 t; (t.x) = x; (t.y) = y; return t; 
# 107
} 
# 109
static inline ushort2 make_ushort2(unsigned short x, unsigned short y) 
# 110
{ 
# 111
ushort2 t; (t.x) = x; (t.y) = y; return t; 
# 112
} 
# 114
static inline short3 make_short3(short x, short y, short z) 
# 115
{ 
# 116
short3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 117
} 
# 119
static inline ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z) 
# 120
{ 
# 121
ushort3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 122
} 
# 124
static inline short4 make_short4(short x, short y, short z, short w) 
# 125
{ 
# 126
short4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 127
} 
# 129
static inline ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w) 
# 130
{ 
# 131
ushort4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 132
} 
# 134
static inline int1 make_int1(int x) 
# 135
{ 
# 136
int1 t; (t.x) = x; return t; 
# 137
} 
# 139
static inline uint1 make_uint1(unsigned x) 
# 140
{ 
# 141
uint1 t; (t.x) = x; return t; 
# 142
} 
# 144
static inline int2 make_int2(int x, int y) 
# 145
{ 
# 146
int2 t; (t.x) = x; (t.y) = y; return t; 
# 147
} 
# 149
static inline uint2 make_uint2(unsigned x, unsigned y) 
# 150
{ 
# 151
uint2 t; (t.x) = x; (t.y) = y; return t; 
# 152
} 
# 154
static inline int3 make_int3(int x, int y, int z) 
# 155
{ 
# 156
int3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 157
} 
# 159
static inline uint3 make_uint3(unsigned x, unsigned y, unsigned z) 
# 160
{ 
# 161
uint3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 162
} 
# 164
static inline int4 make_int4(int x, int y, int z, int w) 
# 165
{ 
# 166
int4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 167
} 
# 169
static inline uint4 make_uint4(unsigned x, unsigned y, unsigned z, unsigned w) 
# 170
{ 
# 171
uint4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 172
} 
# 174
static inline long1 make_long1(long x) 
# 175
{ 
# 176
long1 t; (t.x) = x; return t; 
# 177
} 
# 179
static inline ulong1 make_ulong1(unsigned long x) 
# 180
{ 
# 181
ulong1 t; (t.x) = x; return t; 
# 182
} 
# 184
static inline long2 make_long2(long x, long y) 
# 185
{ 
# 186
long2 t; (t.x) = x; (t.y) = y; return t; 
# 187
} 
# 189
static inline ulong2 make_ulong2(unsigned long x, unsigned long y) 
# 190
{ 
# 191
ulong2 t; (t.x) = x; (t.y) = y; return t; 
# 192
} 
# 194
static inline long3 make_long3(long x, long y, long z) 
# 195
{ 
# 196
long3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 197
} 
# 199
static inline ulong3 make_ulong3(unsigned long x, unsigned long y, unsigned long z) 
# 200
{ 
# 201
ulong3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 202
} 
# 204
static inline long4 make_long4(long x, long y, long z, long w) 
# 205
{ 
# 206
long4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 207
} 
# 209
static inline ulong4 make_ulong4(unsigned long x, unsigned long y, unsigned long z, unsigned long w) 
# 210
{ 
# 211
ulong4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 212
} 
# 214
static inline float1 make_float1(float x) 
# 215
{ 
# 216
float1 t; (t.x) = x; return t; 
# 217
} 
# 219
static inline float2 make_float2(float x, float y) 
# 220
{ 
# 221
float2 t; (t.x) = x; (t.y) = y; return t; 
# 222
} 
# 224
static inline float3 make_float3(float x, float y, float z) 
# 225
{ 
# 226
float3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 227
} 
# 229
static inline float4 make_float4(float x, float y, float z, float w) 
# 230
{ 
# 231
float4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 232
} 
# 234
static inline longlong1 make_longlong1(long long x) 
# 235
{ 
# 236
longlong1 t; (t.x) = x; return t; 
# 237
} 
# 239
static inline ulonglong1 make_ulonglong1(unsigned long long x) 
# 240
{ 
# 241
ulonglong1 t; (t.x) = x; return t; 
# 242
} 
# 244
static inline longlong2 make_longlong2(long long x, long long y) 
# 245
{ 
# 246
longlong2 t; (t.x) = x; (t.y) = y; return t; 
# 247
} 
# 249
static inline ulonglong2 make_ulonglong2(unsigned long long x, unsigned long long y) 
# 250
{ 
# 251
ulonglong2 t; (t.x) = x; (t.y) = y; return t; 
# 252
} 
# 254
static inline longlong3 make_longlong3(long long x, long long y, long long z) 
# 255
{ 
# 256
longlong3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 257
} 
# 259
static inline ulonglong3 make_ulonglong3(unsigned long long x, unsigned long long y, unsigned long long z) 
# 260
{ 
# 261
ulonglong3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 262
} 
# 264
static inline longlong4 make_longlong4(long long x, long long y, long long z, long long w) 
# 265
{ 
# 266
longlong4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 267
} 
# 269
static inline ulonglong4 make_ulonglong4(unsigned long long x, unsigned long long y, unsigned long long z, unsigned long long w) 
# 270
{ 
# 271
ulonglong4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 272
} 
# 274
static inline double1 make_double1(double x) 
# 275
{ 
# 276
double1 t; (t.x) = x; return t; 
# 277
} 
# 279
static inline double2 make_double2(double x, double y) 
# 280
{ 
# 281
double2 t; (t.x) = x; (t.y) = y; return t; 
# 282
} 
# 284
static inline double3 make_double3(double x, double y, double z) 
# 285
{ 
# 286
double3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t; 
# 287
} 
# 289
static inline double4 make_double4(double x, double y, double z, double w) 
# 290
{ 
# 291
double4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t; 
# 292
} 
# 31 "/usr/include/bits/types.h" 3
extern "C" { typedef unsigned char __u_char; }
# 32
extern "C" { typedef unsigned short __u_short; }
# 33
extern "C" { typedef unsigned __u_int; }
# 34
extern "C" { typedef unsigned long __u_long; }
# 37
extern "C" { typedef signed char __int8_t; }
# 38
extern "C" { typedef unsigned char __uint8_t; }
# 39
extern "C" { typedef signed short __int16_t; }
# 40
extern "C" { typedef unsigned short __uint16_t; }
# 41
extern "C" { typedef signed int __int32_t; }
# 42
extern "C" { typedef unsigned __uint32_t; }
# 44
extern "C" { typedef signed long __int64_t; }
# 45
extern "C" { typedef unsigned long __uint64_t; }
# 53
extern "C" { typedef long __quad_t; }
# 54
extern "C" { typedef unsigned long __u_quad_t; }
# 134 "/usr/include/bits/types.h" 3
extern "C" { typedef unsigned long __dev_t; }
# 135
extern "C" { typedef unsigned __uid_t; }
# 136
extern "C" { typedef unsigned __gid_t; }
# 137
extern "C" { typedef unsigned long __ino_t; }
# 138
extern "C" { typedef unsigned long __ino64_t; }
# 139
extern "C" { typedef unsigned __mode_t; }
# 140
extern "C" { typedef unsigned long __nlink_t; }
# 141
extern "C" { typedef long __off_t; }
# 142
extern "C" { typedef long __off64_t; }
# 143
extern "C" { typedef int __pid_t; }
# 144
extern "C" { typedef struct { int __val[2]; } __fsid_t; }
# 145
extern "C" { typedef long __clock_t; }
# 146
extern "C" { typedef unsigned long __rlim_t; }
# 147
extern "C" { typedef unsigned long __rlim64_t; }
# 148
extern "C" { typedef unsigned __id_t; }
# 149
extern "C" { typedef long __time_t; }
# 150
extern "C" { typedef unsigned __useconds_t; }
# 151
extern "C" { typedef long __suseconds_t; }
# 153
extern "C" { typedef int __daddr_t; }
# 154
extern "C" { typedef long __swblk_t; }
# 155
extern "C" { typedef int __key_t; }
# 158
extern "C" { typedef int __clockid_t; }
# 161
extern "C" { typedef void *__timer_t; }
# 164
extern "C" { typedef long __blksize_t; }
# 169
extern "C" { typedef long __blkcnt_t; }
# 170
extern "C" { typedef long __blkcnt64_t; }
# 173
extern "C" { typedef unsigned long __fsblkcnt_t; }
# 174
extern "C" { typedef unsigned long __fsblkcnt64_t; }
# 177
extern "C" { typedef unsigned long __fsfilcnt_t; }
# 178
extern "C" { typedef unsigned long __fsfilcnt64_t; }
# 180
extern "C" { typedef long __ssize_t; }
# 184
extern "C" { typedef __off64_t __loff_t; }
# 185
extern "C" { typedef __quad_t *__qaddr_t; }
# 186
extern "C" { typedef char *__caddr_t; }
# 189
extern "C" { typedef long __intptr_t; }
# 192
extern "C" { typedef unsigned __socklen_t; }
# 60 "/usr/include/time.h" 3
extern "C" { typedef __clock_t clock_t; }
# 76 "/usr/include/time.h" 3
extern "C" { typedef __time_t time_t; }
# 92 "/usr/include/time.h" 3
extern "C" { typedef __clockid_t clockid_t; }
# 104 "/usr/include/time.h" 3
extern "C" { typedef __timer_t timer_t; }
# 120 "/usr/include/time.h" 3
extern "C" { struct timespec { 
# 122
__time_t tv_sec; 
# 123
long tv_nsec; 
# 124
}; }
# 133
extern "C" { struct tm { 
# 135
int tm_sec; 
# 136
int tm_min; 
# 137
int tm_hour; 
# 138
int tm_mday; 
# 139
int tm_mon; 
# 140
int tm_year; 
# 141
int tm_wday; 
# 142
int tm_yday; 
# 143
int tm_isdst; 
# 146
long tm_gmtoff; 
# 147
const char *tm_zone; 
# 152
}; }
# 161
extern "C" { struct itimerspec { 
# 163
timespec it_interval; 
# 164
timespec it_value; 
# 165
}; }
# 168
struct sigevent; 
# 174
extern "C" { typedef __pid_t pid_t; }
# 183
extern "C"  __attribute__((__weak__)) clock_t clock() throw(); 
# 186
extern "C" time_t time(time_t *) throw(); 
# 189
extern "C" double difftime(time_t, time_t) throw() __attribute__((__const__)); 
# 193
extern "C" time_t mktime(tm *) throw(); 
# 199
extern "C" size_t strftime(char *__restrict__, size_t, const char *__restrict__, const tm *__restrict__) throw(); 
# 207
extern "C" char *strptime(const char *__restrict__, const char *__restrict__, tm *) throw(); 
# 40 "/usr/include/xlocale.h" 3
extern "C" { typedef 
# 28
struct __locale_struct { 
# 31
struct locale_data *__locales[13]; 
# 34
const unsigned short *__ctype_b; 
# 35
const int *__ctype_tolower; 
# 36
const int *__ctype_toupper; 
# 39
const char *__names[13]; 
# 40
} *__locale_t; }
# 43
extern "C" { typedef __locale_t locale_t; }
# 217 "/usr/include/time.h" 3
extern "C" size_t strftime_l(char *__restrict__, size_t, const char *__restrict__, const tm *__restrict__, __locale_t) throw(); 
# 224
extern "C" char *strptime_l(const char *__restrict__, const char *__restrict__, tm *, __locale_t) throw(); 
# 233
extern "C" tm *gmtime(const time_t *) throw(); 
# 237
extern "C" tm *localtime(const time_t *) throw(); 
# 243
extern "C" tm *gmtime_r(const time_t *__restrict__, tm *__restrict__) throw(); 
# 248
extern "C" tm *localtime_r(const time_t *__restrict__, tm *__restrict__) throw(); 
# 255
extern "C" char *asctime(const tm *) throw(); 
# 258
extern "C" char *ctime(const time_t *) throw(); 
# 266
extern "C" char *asctime_r(const tm *__restrict__, char *__restrict__) throw(); 
# 270
extern "C" char *ctime_r(const time_t *__restrict__, char *__restrict__) throw(); 
# 276
extern "C" { extern char *__tzname[2]; } 
# 277
extern "C" { extern int __daylight; } 
# 278
extern "C" { extern long __timezone; } 
# 283
extern "C" { extern char *tzname[2]; } 
# 287
extern "C" void tzset() throw(); 
# 291
extern "C" { extern int daylight; } 
# 292
extern "C" { extern long timezone; } 
# 298
extern "C" int stime(const time_t *) throw(); 
# 313
extern "C" time_t timegm(tm *) throw(); 
# 316
extern "C" time_t timelocal(tm *) throw(); 
# 319
extern "C" int dysize(int) throw() __attribute__((__const__)); 
# 328
extern "C" int nanosleep(const timespec *, timespec *); 
# 333
extern "C" int clock_getres(clockid_t, timespec *) throw(); 
# 336
extern "C" int clock_gettime(clockid_t, timespec *) throw(); 
# 339
extern "C" int clock_settime(clockid_t, const timespec *) throw(); 
# 347
extern "C" int clock_nanosleep(clockid_t, int, const timespec *, timespec *); 
# 352
extern "C" int clock_getcpuclockid(pid_t, clockid_t *) throw(); 
# 357
extern "C" int timer_create(clockid_t, sigevent *__restrict__, timer_t *__restrict__) throw(); 
# 362
extern "C" int timer_delete(timer_t) throw(); 
# 365
extern "C" int timer_settime(timer_t, int, const itimerspec *__restrict__, itimerspec *__restrict__) throw(); 
# 370
extern "C" int timer_gettime(timer_t, itimerspec *) throw(); 
# 374
extern "C" int timer_getoverrun(timer_t) throw(); 
# 390
extern "C" { extern int getdate_err; } 
# 399
extern "C" tm *getdate(const char *); 
# 413
extern "C" int getdate_r(const char *__restrict__, tm *__restrict__); 
# 43 "/usr/include/string.h" 3
extern "C"  __attribute__((__weak__)) void *memcpy(void *__restrict__, const void *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 48
extern "C" void *memmove(void *, const void *, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 56
extern "C" void *memccpy(void *__restrict__, const void *__restrict__, int, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 64
extern "C"  __attribute__((__weak__)) void *memset(void *, int, size_t) throw() __attribute__((nonnull(1))); 
# 67
extern "C" int memcmp(const void *, const void *, size_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 74
extern void *memchr(void *, int, size_t) throw() __asm__("memchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 76
extern const void *memchr(const void *, int, size_t) throw() __asm__("memchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 103 "/usr/include/string.h" 3
void *rawmemchr(void *, int) throw() __asm__("rawmemchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 105
const void *rawmemchr(const void *, int) throw() __asm__("rawmemchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 114
void *memrchr(void *, int, size_t) throw() __asm__("memrchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 116
const void *memrchr(const void *, int, size_t) throw() __asm__("memrchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 127
extern "C" char *strcpy(char *__restrict__, const char *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 130
extern "C" char *strncpy(char *__restrict__, const char *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 135
extern "C" char *strcat(char *__restrict__, const char *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 138
extern "C" char *strncat(char *__restrict__, const char *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 142
extern "C" int strcmp(const char *, const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 145
extern "C" int strncmp(const char *, const char *, size_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 149
extern "C" int strcoll(const char *, const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 152
extern "C" size_t strxfrm(char *__restrict__, const char *__restrict__, size_t) throw() __attribute__((nonnull(2))); 
# 164 "/usr/include/string.h" 3
extern "C" int strcoll_l(const char *, const char *, __locale_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))) __attribute__((nonnull(3))); 
# 167
extern "C" size_t strxfrm_l(char *, const char *, size_t, __locale_t) throw() __attribute__((nonnull(2))) __attribute__((nonnull(4))); 
# 173
extern "C" char *strdup(const char *) throw() __attribute__((__malloc__)) __attribute__((nonnull(1))); 
# 181
extern "C" char *strndup(const char *, size_t) throw() __attribute__((__malloc__)) __attribute__((nonnull(1))); 
# 213 "/usr/include/string.h" 3
extern char *strchr(char *, int) throw() __asm__("strchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 215
extern const char *strchr(const char *, int) throw() __asm__("strchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 240 "/usr/include/string.h" 3
extern char *strrchr(char *, int) throw() __asm__("strrchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 242
extern const char *strrchr(const char *, int) throw() __asm__("strrchr") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 269 "/usr/include/string.h" 3
char *strchrnul(char *, int) throw() __asm__("strchrnul") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 271
const char *strchrnul(const char *, int) throw() __asm__("strchrnul") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 282
extern "C" size_t strcspn(const char *, const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 286
extern "C" size_t strspn(const char *, const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 292
extern char *strpbrk(char *, const char *) throw() __asm__("strpbrk") __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 294
extern const char *strpbrk(const char *, const char *) throw() __asm__("strpbrk") __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 319 "/usr/include/string.h" 3
extern char *strstr(char *, const char *) throw() __asm__("strstr") __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 321
extern const char *strstr(const char *, const char *) throw() __asm__("strstr") __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 346 "/usr/include/string.h" 3
extern "C" char *strtok(char *__restrict__, const char *__restrict__) throw() __attribute__((nonnull(2))); 
# 352
extern "C" char *__strtok_r(char *__restrict__, const char *__restrict__, char **__restrict__) throw() __attribute__((nonnull(2))) __attribute__((nonnull(3))); 
# 357
extern "C" char *strtok_r(char *__restrict__, const char *__restrict__, char **__restrict__) throw() __attribute__((nonnull(2))) __attribute__((nonnull(3))); 
# 365
char *strcasestr(char *, const char *) throw() __asm__("strcasestr") __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 367
const char *strcasestr(const char *, const char *) throw() __asm__("strcasestr") __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 380
extern "C" void *memmem(const void *, size_t, const void *, size_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(3))); 
# 386
extern "C" void *__mempcpy(void *__restrict__, const void *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 389
extern "C" void *mempcpy(void *__restrict__, const void *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 397
extern "C" size_t strlen(const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 404
extern "C" size_t strnlen(const char *, size_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 411
extern "C" char *strerror(int) throw(); 
# 436 "/usr/include/string.h" 3
extern "C" char *strerror_r(int, char *, size_t) throw() __attribute__((nonnull(2))); 
# 443
extern "C" char *strerror_l(int, __locale_t) throw(); 
# 449
extern "C" void __bzero(void *, size_t) throw() __attribute__((nonnull(1))); 
# 453
extern "C" void bcopy(const void *, void *, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 457
extern "C" void bzero(void *, size_t) throw() __attribute__((nonnull(1))); 
# 460
extern "C" int bcmp(const void *, const void *, size_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 467
extern char *index(char *, int) throw() __asm__("index") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 469
extern const char *index(const char *, int) throw() __asm__("index") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 495 "/usr/include/string.h" 3
extern char *rindex(char *, int) throw() __asm__("rindex") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 497
extern const char *rindex(const char *, int) throw() __asm__("rindex") __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 521 "/usr/include/string.h" 3
extern "C" int ffs(int) throw() __attribute__((__const__)); 
# 526
extern "C" int ffsl(long) throw() __attribute__((__const__)); 
# 528
extern "C" int ffsll(long long) throw() __attribute__((__const__)); 
# 534
extern "C" int strcasecmp(const char *, const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 538
extern "C" int strncasecmp(const char *, const char *, size_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 545
extern "C" int strcasecmp_l(const char *, const char *, __locale_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))) __attribute__((nonnull(3))); 
# 549
extern "C" int strncasecmp_l(const char *, const char *, size_t, __locale_t) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))) __attribute__((nonnull(4))); 
# 557
extern "C" char *strsep(char **__restrict__, const char *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 564
extern "C" char *strsignal(int) throw(); 
# 567
extern "C" char *__stpcpy(char *__restrict__, const char *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 569
extern "C" char *stpcpy(char *__restrict__, const char *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 574
extern "C" char *__stpncpy(char *__restrict__, const char *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 577
extern "C" char *stpncpy(char *__restrict__, const char *__restrict__, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 584
extern "C" int strverscmp(const char *, const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 588
extern "C" char *strfry(char *) throw() __attribute__((nonnull(1))); 
# 591
extern "C" void *memfrob(void *, size_t) throw() __attribute__((nonnull(1))); 
# 599
char *basename(char *) throw() __asm__("basename") __attribute__((nonnull(1))); 
# 601
const char *basename(const char *) throw() __asm__("basename") __attribute__((nonnull(1))); 
# 56 "/opt/cuda/bin/../include/common_functions.h"
extern "C"  __attribute__((__weak__)) clock_t clock() throw(); 
# 59
extern "C"  __attribute__((__weak__)) void *memset(void *, int, size_t) throw() __attribute__((nonnull(1))); 
# 62
extern "C"  __attribute__((__weak__)) void *memcpy(void *, const void *, size_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 65 "/opt/cuda/bin/../include/math_functions.h"
extern "C"  __attribute__((__weak__)) int abs(int) throw() __attribute__((__const__)); 
# 67
extern "C"  __attribute__((__weak__)) long labs(long) throw() __attribute__((__const__)); 
# 69
extern "C"  __attribute__((__weak__)) long long llabs(long long) throw() __attribute__((__const__)); 
# 71
extern "C"  __attribute__((__weak__)) double fabs(double) throw() __attribute__((__const__)); 
# 73
extern "C"  __attribute__((__weak__)) float fabsf(float) throw() __attribute__((__const__)); 
# 76
extern "C"  __attribute__((__weak__)) int min(int, int); 
# 78
extern "C"  __attribute__((__weak__)) unsigned umin(unsigned, unsigned); 
# 80
extern "C"  __attribute__((__weak__)) long long llmin(long long, long long); 
# 82
extern "C"  __attribute__((__weak__)) unsigned long long ullmin(unsigned long long, unsigned long long); 
# 84
extern "C"  __attribute__((__weak__)) float fminf(float, float) throw(); 
# 86
extern "C"  __attribute__((__weak__)) double fmin(double, double) throw(); 
# 89
extern "C"  __attribute__((__weak__)) int max(int, int); 
# 91
extern "C"  __attribute__((__weak__)) unsigned umax(unsigned, unsigned); 
# 93
extern "C"  __attribute__((__weak__)) long long llmax(long long, long long); 
# 95
extern "C"  __attribute__((__weak__)) unsigned long long ullmax(unsigned long long, unsigned long long); 
# 97
extern "C"  __attribute__((__weak__)) float fmaxf(float, float) throw(); 
# 99
extern "C"  __attribute__((__weak__)) double fmax(double, double) throw(); 
# 102
extern "C"  __attribute__((__weak__)) double sin(double) throw(); 
# 104
extern "C"  __attribute__((__weak__)) float sinf(float) throw(); 
# 107
extern "C"  __attribute__((__weak__)) double cos(double) throw(); 
# 109
extern "C"  __attribute__((__weak__)) float cosf(float) throw(); 
# 112
extern "C"  __attribute__((__weak__)) void sincos(double, double *, double *) throw(); 
# 114
extern "C"  __attribute__((__weak__)) void sincosf(float, float *, float *) throw(); 
# 117
extern "C"  __attribute__((__weak__)) double tan(double) throw(); 
# 119
extern "C"  __attribute__((__weak__)) float tanf(float) throw(); 
# 122
extern "C"  __attribute__((__weak__)) double sqrt(double) throw(); 
# 124
extern "C"  __attribute__((__weak__)) float sqrtf(float) throw(); 
# 127
extern "C"  __attribute__((__weak__)) double rsqrt(double); 
# 129
extern "C"  __attribute__((__weak__)) float rsqrtf(float); 
# 132
extern "C"  __attribute__((__weak__)) double exp2(double) throw(); 
# 134
extern "C"  __attribute__((__weak__)) float exp2f(float) throw(); 
# 137
extern "C"  __attribute__((__weak__)) double exp10(double) throw(); 
# 139
extern "C"  __attribute__((__weak__)) float exp10f(float) throw(); 
# 142
extern "C"  __attribute__((__weak__)) double expm1(double) throw(); 
# 144
extern "C"  __attribute__((__weak__)) float expm1f(float) throw(); 
# 147
extern "C"  __attribute__((__weak__)) double log2(double) throw(); 
# 149
extern "C"  __attribute__((__weak__)) float log2f(float) throw(); 
# 152
extern "C"  __attribute__((__weak__)) double log10(double) throw(); 
# 154
extern "C"  __attribute__((__weak__)) float log10f(float) throw(); 
# 157
extern "C"  __attribute__((__weak__)) double log(double) throw(); 
# 159
extern "C"  __attribute__((__weak__)) float logf(float) throw(); 
# 162
extern "C"  __attribute__((__weak__)) double log1p(double) throw(); 
# 164
extern "C"  __attribute__((__weak__)) float log1pf(float) throw(); 
# 167
extern "C"  __attribute__((__weak__)) double floor(double) throw() __attribute__((__const__)); 
# 169
extern "C"  __attribute__((__weak__)) float floorf(float) throw() __attribute__((__const__)); 
# 172
extern "C"  __attribute__((__weak__)) double exp(double) throw(); 
# 174
extern "C"  __attribute__((__weak__)) float expf(float) throw(); 
# 177
extern "C"  __attribute__((__weak__)) double cosh(double) throw(); 
# 179
extern "C"  __attribute__((__weak__)) float coshf(float) throw(); 
# 182
extern "C"  __attribute__((__weak__)) double sinh(double) throw(); 
# 184
extern "C"  __attribute__((__weak__)) float sinhf(float) throw(); 
# 187
extern "C"  __attribute__((__weak__)) double tanh(double) throw(); 
# 189
extern "C"  __attribute__((__weak__)) float tanhf(float) throw(); 
# 192
extern "C"  __attribute__((__weak__)) double acosh(double) throw(); 
# 194
extern "C"  __attribute__((__weak__)) float acoshf(float) throw(); 
# 197
extern "C"  __attribute__((__weak__)) double asinh(double) throw(); 
# 199
extern "C"  __attribute__((__weak__)) float asinhf(float) throw(); 
# 202
extern "C"  __attribute__((__weak__)) double atanh(double) throw(); 
# 204
extern "C"  __attribute__((__weak__)) float atanhf(float) throw(); 
# 207
extern "C"  __attribute__((__weak__)) double ldexp(double, int) throw(); 
# 209
extern "C"  __attribute__((__weak__)) float ldexpf(float, int) throw(); 
# 212
extern "C"  __attribute__((__weak__)) double logb(double) throw(); 
# 214
extern "C"  __attribute__((__weak__)) float logbf(float) throw(); 
# 217
extern "C"  __attribute__((__weak__)) int ilogb(double) throw(); 
# 219
extern "C"  __attribute__((__weak__)) int ilogbf(float) throw(); 
# 222
extern "C"  __attribute__((__weak__)) double scalbn(double, int) throw(); 
# 224
extern "C"  __attribute__((__weak__)) float scalbnf(float, int) throw(); 
# 227
extern "C"  __attribute__((__weak__)) double scalbln(double, long) throw(); 
# 229
extern "C"  __attribute__((__weak__)) float scalblnf(float, long) throw(); 
# 232
extern "C"  __attribute__((__weak__)) double frexp(double, int *) throw(); 
# 234
extern "C"  __attribute__((__weak__)) float frexpf(float, int *) throw(); 
# 237
extern "C"  __attribute__((__weak__)) double round(double) throw() __attribute__((__const__)); 
# 239
extern "C"  __attribute__((__weak__)) float roundf(float) throw() __attribute__((__const__)); 
# 242
extern "C"  __attribute__((__weak__)) long lround(double) throw(); 
# 244
extern "C"  __attribute__((__weak__)) long lroundf(float) throw(); 
# 247
extern "C"  __attribute__((__weak__)) long long llround(double) throw(); 
# 249
extern "C"  __attribute__((__weak__)) long long llroundf(float) throw(); 
# 252
extern "C"  __attribute__((__weak__)) double rint(double) throw(); 
# 254
extern "C"  __attribute__((__weak__)) float rintf(float) throw(); 
# 257
extern "C"  __attribute__((__weak__)) long lrint(double) throw(); 
# 259
extern "C"  __attribute__((__weak__)) long lrintf(float) throw(); 
# 262
extern "C"  __attribute__((__weak__)) long long llrint(double) throw(); 
# 264
extern "C"  __attribute__((__weak__)) long long llrintf(float) throw(); 
# 267
extern "C"  __attribute__((__weak__)) double nearbyint(double) throw(); 
# 269
extern "C"  __attribute__((__weak__)) float nearbyintf(float) throw(); 
# 272
extern "C"  __attribute__((__weak__)) double ceil(double) throw() __attribute__((__const__)); 
# 274
extern "C"  __attribute__((__weak__)) float ceilf(float) throw() __attribute__((__const__)); 
# 277
extern "C"  __attribute__((__weak__)) double trunc(double) throw() __attribute__((__const__)); 
# 279
extern "C"  __attribute__((__weak__)) float truncf(float) throw() __attribute__((__const__)); 
# 282
extern "C"  __attribute__((__weak__)) double fdim(double, double) throw(); 
# 284
extern "C"  __attribute__((__weak__)) float fdimf(float, float) throw(); 
# 287
extern "C"  __attribute__((__weak__)) double atan2(double, double) throw(); 
# 289
extern "C"  __attribute__((__weak__)) float atan2f(float, float) throw(); 
# 292
extern "C"  __attribute__((__weak__)) double atan(double) throw(); 
# 294
extern "C"  __attribute__((__weak__)) float atanf(float) throw(); 
# 297
extern "C"  __attribute__((__weak__)) double asin(double) throw(); 
# 299
extern "C"  __attribute__((__weak__)) float asinf(float) throw(); 
# 302
extern "C"  __attribute__((__weak__)) double acos(double) throw(); 
# 304
extern "C"  __attribute__((__weak__)) float acosf(float) throw(); 
# 307
extern "C"  __attribute__((__weak__)) double hypot(double, double) throw(); 
# 309
extern "C"  __attribute__((__weak__)) float hypotf(float, float) throw(); 
# 312
extern "C"  __attribute__((__weak__)) double cbrt(double) throw(); 
# 314
extern "C"  __attribute__((__weak__)) float cbrtf(float) throw(); 
# 317
extern "C"  __attribute__((__weak__)) double rcbrt(double); 
# 319
extern "C"  __attribute__((__weak__)) float rcbrtf(float); 
# 322
extern "C"  __attribute__((__weak__)) double sinpi(double); 
# 324
extern "C"  __attribute__((__weak__)) float sinpif(float); 
# 327
extern "C"  __attribute__((__weak__)) double pow(double, double) throw(); 
# 329
extern "C"  __attribute__((__weak__)) float powf(float, float) throw(); 
# 332
extern "C"  __attribute__((__weak__)) double modf(double, double *) throw(); 
# 334
extern "C"  __attribute__((__weak__)) float modff(float, float *) throw(); 
# 337
extern "C"  __attribute__((__weak__)) double fmod(double, double) throw(); 
# 339
extern "C"  __attribute__((__weak__)) float fmodf(float, float) throw(); 
# 342
extern "C"  __attribute__((__weak__)) double remainder(double, double) throw(); 
# 344
extern "C"  __attribute__((__weak__)) float remainderf(float, float) throw(); 
# 347
extern "C"  __attribute__((__weak__)) double remquo(double, double, int *) throw(); 
# 349
extern "C"  __attribute__((__weak__)) float remquof(float, float, int *) throw(); 
# 352
extern "C"  __attribute__((__weak__)) double erf(double) throw(); 
# 354
extern "C"  __attribute__((__weak__)) float erff(float) throw(); 
# 357
extern "C"  __attribute__((__weak__)) double erfinv(double); 
# 359
extern "C"  __attribute__((__weak__)) float erfinvf(float); 
# 362
extern "C"  __attribute__((__weak__)) double erfc(double) throw(); 
# 364
extern "C"  __attribute__((__weak__)) float erfcf(float) throw(); 
# 367
extern "C"  __attribute__((__weak__)) double erfcinv(double); 
# 369
extern "C"  __attribute__((__weak__)) float erfcinvf(float); 
# 372
extern "C"  __attribute__((__weak__)) double lgamma(double) throw(); 
# 374
extern "C"  __attribute__((__weak__)) float lgammaf(float) throw(); 
# 377
extern "C"  __attribute__((__weak__)) double tgamma(double) throw(); 
# 379
extern "C"  __attribute__((__weak__)) float tgammaf(float) throw(); 
# 382
extern "C"  __attribute__((__weak__)) double copysign(double, double) throw() __attribute__((__const__)); 
# 384
extern "C"  __attribute__((__weak__)) float copysignf(float, float) throw() __attribute__((__const__)); 
# 387
extern "C"  __attribute__((__weak__)) double nextafter(double, double) throw() __attribute__((__const__)); 
# 389
extern "C"  __attribute__((__weak__)) float nextafterf(float, float) throw() __attribute__((__const__)); 
# 392
extern "C"  __attribute__((__weak__)) double nan(const char *) throw() __attribute__((__const__)); 
# 394
extern "C"  __attribute__((__weak__)) float nanf(const char *) throw() __attribute__((__const__)); 
# 397
extern "C"  __attribute__((__weak__)) int __isinf(double) throw() __attribute__((__const__)); 
# 399
extern "C"  __attribute__((__weak__)) int __isinff(float) throw() __attribute__((__const__)); 
# 402
extern "C"  __attribute__((__weak__)) int __isnan(double) throw() __attribute__((__const__)); 
# 404
extern "C"  __attribute__((__weak__)) int __isnanf(float) throw() __attribute__((__const__)); 
# 418 "/opt/cuda/bin/../include/math_functions.h"
extern "C"  __attribute__((__weak__)) int __finite(double) throw() __attribute__((__const__)); 
# 420
extern "C"  __attribute__((__weak__)) int __finitef(float) throw() __attribute__((__const__)); 
# 422
extern "C"  __attribute__((__weak__)) int __signbit(double) throw() __attribute__((__const__)); 
# 427
extern "C"  __attribute__((__weak__)) int __signbitf(float) throw() __attribute__((__const__)); 
# 430
extern "C"  __attribute__((__weak__)) double fma(double, double, double) throw(); 
# 432
extern "C"  __attribute__((__weak__)) float fmaf(float, float, float) throw(); 
# 440
extern "C"  __attribute__((__weak__)) int __signbitl(long double) throw() __attribute__((__const__)); 
# 442
extern "C"  __attribute__((__weak__)) int __isinfl(long double) throw() __attribute__((__const__)); 
# 444
extern "C"  __attribute__((__weak__)) int __isnanl(long double) throw() __attribute__((__const__)); 
# 454 "/opt/cuda/bin/../include/math_functions.h"
extern "C"  __attribute__((__weak__)) int __finitel(long double) throw() __attribute__((__const__)); 
# 31 "/usr/include/bits/mathdef.h" 3
extern "C" { typedef float float_t; }
# 32
extern "C" { typedef double double_t; }
# 55 "/usr/include/bits/mathcalls.h" 3
extern "C"  __attribute__((__weak__)) double acos(double) throw(); extern "C" double __acos(double) throw(); 
# 57
extern "C"  __attribute__((__weak__)) double asin(double) throw(); extern "C" double __asin(double) throw(); 
# 59
extern "C"  __attribute__((__weak__)) double atan(double) throw(); extern "C" double __atan(double) throw(); 
# 61
extern "C"  __attribute__((__weak__)) double atan2(double, double) throw(); extern "C" double __atan2(double, double) throw(); 
# 64
extern "C"  __attribute__((__weak__)) double cos(double) throw(); extern "C" double __cos(double) throw(); 
# 66
extern "C"  __attribute__((__weak__)) double sin(double) throw(); extern "C" double __sin(double) throw(); 
# 68
extern "C"  __attribute__((__weak__)) double tan(double) throw(); extern "C" double __tan(double) throw(); 
# 73
extern "C"  __attribute__((__weak__)) double cosh(double) throw(); extern "C" double __cosh(double) throw(); 
# 75
extern "C"  __attribute__((__weak__)) double sinh(double) throw(); extern "C" double __sinh(double) throw(); 
# 77
extern "C"  __attribute__((__weak__)) double tanh(double) throw(); extern "C" double __tanh(double) throw(); 
# 82
extern "C"  __attribute__((__weak__)) void sincos(double, double *, double *) throw(); extern "C" void __sincos(double, double *, double *) throw(); 
# 89
extern "C"  __attribute__((__weak__)) double acosh(double) throw(); extern "C" double __acosh(double) throw(); 
# 91
extern "C"  __attribute__((__weak__)) double asinh(double) throw(); extern "C" double __asinh(double) throw(); 
# 93
extern "C"  __attribute__((__weak__)) double atanh(double) throw(); extern "C" double __atanh(double) throw(); 
# 101
extern "C"  __attribute__((__weak__)) double exp(double) throw(); extern "C" double __exp(double) throw(); 
# 104
extern "C"  __attribute__((__weak__)) double frexp(double, int *) throw(); extern "C" double __frexp(double, int *) throw(); 
# 107
extern "C"  __attribute__((__weak__)) double ldexp(double, int) throw(); extern "C" double __ldexp(double, int) throw(); 
# 110
extern "C"  __attribute__((__weak__)) double log(double) throw(); extern "C" double __log(double) throw(); 
# 113
extern "C"  __attribute__((__weak__)) double log10(double) throw(); extern "C" double __log10(double) throw(); 
# 116
extern "C"  __attribute__((__weak__)) double modf(double, double *) throw(); extern "C" double __modf(double, double *) throw(); 
# 121
extern "C"  __attribute__((__weak__)) double exp10(double) throw(); extern "C" double __exp10(double) throw(); 
# 123
extern "C" double pow10(double) throw(); extern "C" double __pow10(double) throw(); 
# 129
extern "C"  __attribute__((__weak__)) double expm1(double) throw(); extern "C" double __expm1(double) throw(); 
# 132
extern "C"  __attribute__((__weak__)) double log1p(double) throw(); extern "C" double __log1p(double) throw(); 
# 135
extern "C"  __attribute__((__weak__)) double logb(double) throw(); extern "C" double __logb(double) throw(); 
# 142
extern "C"  __attribute__((__weak__)) double exp2(double) throw(); extern "C" double __exp2(double) throw(); 
# 145
extern "C"  __attribute__((__weak__)) double log2(double) throw(); extern "C" double __log2(double) throw(); 
# 154
extern "C"  __attribute__((__weak__)) double pow(double, double) throw(); extern "C" double __pow(double, double) throw(); 
# 157
extern "C"  __attribute__((__weak__)) double sqrt(double) throw(); extern "C" double __sqrt(double) throw(); 
# 163
extern "C"  __attribute__((__weak__)) double hypot(double, double) throw(); extern "C" double __hypot(double, double) throw(); 
# 170
extern "C"  __attribute__((__weak__)) double cbrt(double) throw(); extern "C" double __cbrt(double) throw(); 
# 179
extern "C"  __attribute__((__weak__)) double ceil(double) throw() __attribute__((__const__)); extern "C" double __ceil(double) throw() __attribute__((__const__)); 
# 182
extern "C"  __attribute__((__weak__)) double fabs(double) throw() __attribute__((__const__)); extern "C" double __fabs(double) throw() __attribute__((__const__)); 
# 185
extern "C"  __attribute__((__weak__)) double floor(double) throw() __attribute__((__const__)); extern "C" double __floor(double) throw() __attribute__((__const__)); 
# 188
extern "C"  __attribute__((__weak__)) double fmod(double, double) throw(); extern "C" double __fmod(double, double) throw(); 
# 193
extern "C"  __attribute__((__weak__)) int __isinf(double) throw() __attribute__((__const__)); 
# 196
extern "C"  __attribute__((__weak__)) int __finite(double) throw() __attribute__((__const__)); 
# 202
extern "C" int isinf(double) throw() __attribute__((__const__)); 
# 205
extern "C" int finite(double) throw() __attribute__((__const__)); 
# 208
extern "C" double drem(double, double) throw(); extern "C" double __drem(double, double) throw(); 
# 212
extern "C" double significand(double) throw(); extern "C" double __significand(double) throw(); 
# 218
extern "C"  __attribute__((__weak__)) double copysign(double, double) throw() __attribute__((__const__)); extern "C" double __copysign(double, double) throw() __attribute__((__const__)); 
# 225
extern "C"  __attribute__((__weak__)) double nan(const char *) throw() __attribute__((__const__)); extern "C" double __nan(const char *) throw() __attribute__((__const__)); 
# 231
extern "C"  __attribute__((__weak__)) int __isnan(double) throw() __attribute__((__const__)); 
# 235
extern "C" int isnan(double) throw() __attribute__((__const__)); 
# 238
extern "C" double j0(double) throw(); extern "C" double __j0(double) throw(); 
# 239
extern "C" double j1(double) throw(); extern "C" double __j1(double) throw(); 
# 240
extern "C" double jn(int, double) throw(); extern "C" double __jn(int, double) throw(); 
# 241
extern "C" double y0(double) throw(); extern "C" double __y0(double) throw(); 
# 242
extern "C" double y1(double) throw(); extern "C" double __y1(double) throw(); 
# 243
extern "C" double yn(int, double) throw(); extern "C" double __yn(int, double) throw(); 
# 250
extern "C"  __attribute__((__weak__)) double erf(double) throw(); extern "C" double __erf(double) throw(); 
# 251
extern "C"  __attribute__((__weak__)) double erfc(double) throw(); extern "C" double __erfc(double) throw(); 
# 252
extern "C"  __attribute__((__weak__)) double lgamma(double) throw(); extern "C" double __lgamma(double) throw(); 
# 259
extern "C"  __attribute__((__weak__)) double tgamma(double) throw(); extern "C" double __tgamma(double) throw(); 
# 265
extern "C" double gamma(double) throw(); extern "C" double __gamma(double) throw(); 
# 272
extern "C" double lgamma_r(double, int *) throw(); extern "C" double __lgamma_r(double, int *) throw(); 
# 280
extern "C"  __attribute__((__weak__)) double rint(double) throw(); extern "C" double __rint(double) throw(); 
# 283
extern "C"  __attribute__((__weak__)) double nextafter(double, double) throw() __attribute__((__const__)); extern "C" double __nextafter(double, double) throw() __attribute__((__const__)); 
# 285
extern "C" double nexttoward(double, long double) throw() __attribute__((__const__)); extern "C" double __nexttoward(double, long double) throw() __attribute__((__const__)); 
# 289
extern "C"  __attribute__((__weak__)) double remainder(double, double) throw(); extern "C" double __remainder(double, double) throw(); 
# 293
extern "C"  __attribute__((__weak__)) double scalbn(double, int) throw(); extern "C" double __scalbn(double, int) throw(); 
# 297
extern "C"  __attribute__((__weak__)) int ilogb(double) throw(); extern "C" int __ilogb(double) throw(); 
# 302
extern "C"  __attribute__((__weak__)) double scalbln(double, long) throw(); extern "C" double __scalbln(double, long) throw(); 
# 306
extern "C"  __attribute__((__weak__)) double nearbyint(double) throw(); extern "C" double __nearbyint(double) throw(); 
# 310
extern "C"  __attribute__((__weak__)) double round(double) throw() __attribute__((__const__)); extern "C" double __round(double) throw() __attribute__((__const__)); 
# 314
extern "C"  __attribute__((__weak__)) double trunc(double) throw() __attribute__((__const__)); extern "C" double __trunc(double) throw() __attribute__((__const__)); 
# 319
extern "C"  __attribute__((__weak__)) double remquo(double, double, int *) throw(); extern "C" double __remquo(double, double, int *) throw(); 
# 326
extern "C"  __attribute__((__weak__)) long lrint(double) throw(); extern "C" long __lrint(double) throw(); 
# 327
extern "C"  __attribute__((__weak__)) long long llrint(double) throw(); extern "C" long long __llrint(double) throw(); 
# 331
extern "C"  __attribute__((__weak__)) long lround(double) throw(); extern "C" long __lround(double) throw(); 
# 332
extern "C"  __attribute__((__weak__)) long long llround(double) throw(); extern "C" long long __llround(double) throw(); 
# 336
extern "C"  __attribute__((__weak__)) double fdim(double, double) throw(); extern "C" double __fdim(double, double) throw(); 
# 339
extern "C"  __attribute__((__weak__)) double fmax(double, double) throw(); extern "C" double __fmax(double, double) throw(); 
# 342
extern "C"  __attribute__((__weak__)) double fmin(double, double) throw(); extern "C" double __fmin(double, double) throw(); 
# 346
extern "C" int __fpclassify(double) throw() __attribute__((__const__)); 
# 350
extern "C"  __attribute__((__weak__)) int __signbit(double) throw() __attribute__((__const__)); 
# 355
extern "C"  __attribute__((__weak__)) double fma(double, double, double) throw(); extern "C" double __fma(double, double, double) throw(); 
# 364
extern "C" double scalb(double, double) throw(); extern "C" double __scalb(double, double) throw(); 
# 55 "/usr/include/bits/mathcalls.h" 3
extern "C"  __attribute__((__weak__)) float acosf(float) throw(); extern "C" float __acosf(float) throw(); 
# 57
extern "C"  __attribute__((__weak__)) float asinf(float) throw(); extern "C" float __asinf(float) throw(); 
# 59
extern "C"  __attribute__((__weak__)) float atanf(float) throw(); extern "C" float __atanf(float) throw(); 
# 61
extern "C"  __attribute__((__weak__)) float atan2f(float, float) throw(); extern "C" float __atan2f(float, float) throw(); 
# 64
extern "C"  __attribute__((__weak__)) float cosf(float) throw(); 
# 66
extern "C"  __attribute__((__weak__)) float sinf(float) throw(); 
# 68
extern "C"  __attribute__((__weak__)) float tanf(float) throw(); 
# 73
extern "C"  __attribute__((__weak__)) float coshf(float) throw(); extern "C" float __coshf(float) throw(); 
# 75
extern "C"  __attribute__((__weak__)) float sinhf(float) throw(); extern "C" float __sinhf(float) throw(); 
# 77
extern "C"  __attribute__((__weak__)) float tanhf(float) throw(); extern "C" float __tanhf(float) throw(); 
# 82
extern "C"  __attribute__((__weak__)) void sincosf(float, float *, float *) throw(); 
# 89
extern "C"  __attribute__((__weak__)) float acoshf(float) throw(); extern "C" float __acoshf(float) throw(); 
# 91
extern "C"  __attribute__((__weak__)) float asinhf(float) throw(); extern "C" float __asinhf(float) throw(); 
# 93
extern "C"  __attribute__((__weak__)) float atanhf(float) throw(); extern "C" float __atanhf(float) throw(); 
# 101
extern "C"  __attribute__((__weak__)) float expf(float) throw(); 
# 104
extern "C"  __attribute__((__weak__)) float frexpf(float, int *) throw(); extern "C" float __frexpf(float, int *) throw(); 
# 107
extern "C"  __attribute__((__weak__)) float ldexpf(float, int) throw(); extern "C" float __ldexpf(float, int) throw(); 
# 110
extern "C"  __attribute__((__weak__)) float logf(float) throw(); 
# 113
extern "C"  __attribute__((__weak__)) float log10f(float) throw(); 
# 116
extern "C"  __attribute__((__weak__)) float modff(float, float *) throw(); extern "C" float __modff(float, float *) throw(); 
# 121
extern "C"  __attribute__((__weak__)) float exp10f(float) throw(); 
# 123
extern "C" float pow10f(float) throw(); extern "C" float __pow10f(float) throw(); 
# 129
extern "C"  __attribute__((__weak__)) float expm1f(float) throw(); extern "C" float __expm1f(float) throw(); 
# 132
extern "C"  __attribute__((__weak__)) float log1pf(float) throw(); extern "C" float __log1pf(float) throw(); 
# 135
extern "C"  __attribute__((__weak__)) float logbf(float) throw(); extern "C" float __logbf(float) throw(); 
# 142
extern "C"  __attribute__((__weak__)) float exp2f(float) throw(); extern "C" float __exp2f(float) throw(); 
# 145
extern "C"  __attribute__((__weak__)) float log2f(float) throw(); 
# 154
extern "C"  __attribute__((__weak__)) float powf(float, float) throw(); 
# 157
extern "C"  __attribute__((__weak__)) float sqrtf(float) throw(); extern "C" float __sqrtf(float) throw(); 
# 163
extern "C"  __attribute__((__weak__)) float hypotf(float, float) throw(); extern "C" float __hypotf(float, float) throw(); 
# 170
extern "C"  __attribute__((__weak__)) float cbrtf(float) throw(); extern "C" float __cbrtf(float) throw(); 
# 179
extern "C"  __attribute__((__weak__)) float ceilf(float) throw() __attribute__((__const__)); extern "C" float __ceilf(float) throw() __attribute__((__const__)); 
# 182
extern "C"  __attribute__((__weak__)) float fabsf(float) throw() __attribute__((__const__)); extern "C" float __fabsf(float) throw() __attribute__((__const__)); 
# 185
extern "C"  __attribute__((__weak__)) float floorf(float) throw() __attribute__((__const__)); extern "C" float __floorf(float) throw() __attribute__((__const__)); 
# 188
extern "C"  __attribute__((__weak__)) float fmodf(float, float) throw(); extern "C" float __fmodf(float, float) throw(); 
# 193
extern "C"  __attribute__((__weak__)) int __isinff(float) throw() __attribute__((__const__)); 
# 196
extern "C"  __attribute__((__weak__)) int __finitef(float) throw() __attribute__((__const__)); 
# 202
extern "C" int isinff(float) throw() __attribute__((__const__)); 
# 205
extern "C" int finitef(float) throw() __attribute__((__const__)); 
# 208
extern "C" float dremf(float, float) throw(); extern "C" float __dremf(float, float) throw(); 
# 212
extern "C" float significandf(float) throw(); extern "C" float __significandf(float) throw(); 
# 218
extern "C"  __attribute__((__weak__)) float copysignf(float, float) throw() __attribute__((__const__)); extern "C" float __copysignf(float, float) throw() __attribute__((__const__)); 
# 225
extern "C"  __attribute__((__weak__)) float nanf(const char *) throw() __attribute__((__const__)); extern "C" float __nanf(const char *) throw() __attribute__((__const__)); 
# 231
extern "C"  __attribute__((__weak__)) int __isnanf(float) throw() __attribute__((__const__)); 
# 235
extern "C" int isnanf(float) throw() __attribute__((__const__)); 
# 238
extern "C" float j0f(float) throw(); extern "C" float __j0f(float) throw(); 
# 239
extern "C" float j1f(float) throw(); extern "C" float __j1f(float) throw(); 
# 240
extern "C" float jnf(int, float) throw(); extern "C" float __jnf(int, float) throw(); 
# 241
extern "C" float y0f(float) throw(); extern "C" float __y0f(float) throw(); 
# 242
extern "C" float y1f(float) throw(); extern "C" float __y1f(float) throw(); 
# 243
extern "C" float ynf(int, float) throw(); extern "C" float __ynf(int, float) throw(); 
# 250
extern "C"  __attribute__((__weak__)) float erff(float) throw(); extern "C" float __erff(float) throw(); 
# 251
extern "C"  __attribute__((__weak__)) float erfcf(float) throw(); extern "C" float __erfcf(float) throw(); 
# 252
extern "C"  __attribute__((__weak__)) float lgammaf(float) throw(); extern "C" float __lgammaf(float) throw(); 
# 259
extern "C"  __attribute__((__weak__)) float tgammaf(float) throw(); extern "C" float __tgammaf(float) throw(); 
# 265
extern "C" float gammaf(float) throw(); extern "C" float __gammaf(float) throw(); 
# 272
extern "C" float lgammaf_r(float, int *) throw(); extern "C" float __lgammaf_r(float, int *) throw(); 
# 280
extern "C"  __attribute__((__weak__)) float rintf(float) throw(); extern "C" float __rintf(float) throw(); 
# 283
extern "C"  __attribute__((__weak__)) float nextafterf(float, float) throw() __attribute__((__const__)); extern "C" float __nextafterf(float, float) throw() __attribute__((__const__)); 
# 285
extern "C" float nexttowardf(float, long double) throw() __attribute__((__const__)); extern "C" float __nexttowardf(float, long double) throw() __attribute__((__const__)); 
# 289
extern "C"  __attribute__((__weak__)) float remainderf(float, float) throw(); extern "C" float __remainderf(float, float) throw(); 
# 293
extern "C"  __attribute__((__weak__)) float scalbnf(float, int) throw(); extern "C" float __scalbnf(float, int) throw(); 
# 297
extern "C"  __attribute__((__weak__)) int ilogbf(float) throw(); extern "C" int __ilogbf(float) throw(); 
# 302
extern "C"  __attribute__((__weak__)) float scalblnf(float, long) throw(); extern "C" float __scalblnf(float, long) throw(); 
# 306
extern "C"  __attribute__((__weak__)) float nearbyintf(float) throw(); extern "C" float __nearbyintf(float) throw(); 
# 310
extern "C"  __attribute__((__weak__)) float roundf(float) throw() __attribute__((__const__)); extern "C" float __roundf(float) throw() __attribute__((__const__)); 
# 314
extern "C"  __attribute__((__weak__)) float truncf(float) throw() __attribute__((__const__)); extern "C" float __truncf(float) throw() __attribute__((__const__)); 
# 319
extern "C"  __attribute__((__weak__)) float remquof(float, float, int *) throw(); extern "C" float __remquof(float, float, int *) throw(); 
# 326
extern "C"  __attribute__((__weak__)) long lrintf(float) throw(); extern "C" long __lrintf(float) throw(); 
# 327
extern "C"  __attribute__((__weak__)) long long llrintf(float) throw(); extern "C" long long __llrintf(float) throw(); 
# 331
extern "C"  __attribute__((__weak__)) long lroundf(float) throw(); extern "C" long __lroundf(float) throw(); 
# 332
extern "C"  __attribute__((__weak__)) long long llroundf(float) throw(); extern "C" long long __llroundf(float) throw(); 
# 336
extern "C"  __attribute__((__weak__)) float fdimf(float, float) throw(); extern "C" float __fdimf(float, float) throw(); 
# 339
extern "C"  __attribute__((__weak__)) float fmaxf(float, float) throw(); extern "C" float __fmaxf(float, float) throw(); 
# 342
extern "C"  __attribute__((__weak__)) float fminf(float, float) throw(); extern "C" float __fminf(float, float) throw(); 
# 346
extern "C" int __fpclassifyf(float) throw() __attribute__((__const__)); 
# 350
extern "C"  __attribute__((__weak__)) int __signbitf(float) throw() __attribute__((__const__)); 
# 355
extern "C"  __attribute__((__weak__)) float fmaf(float, float, float) throw(); extern "C" float __fmaf(float, float, float) throw(); 
# 364
extern "C" float scalbf(float, float) throw(); extern "C" float __scalbf(float, float) throw(); 
# 55 "/usr/include/bits/mathcalls.h" 3
extern "C" long double acosl(long double) throw(); extern "C" long double __acosl(long double) throw(); 
# 57
extern "C" long double asinl(long double) throw(); extern "C" long double __asinl(long double) throw(); 
# 59
extern "C" long double atanl(long double) throw(); extern "C" long double __atanl(long double) throw(); 
# 61
extern "C" long double atan2l(long double, long double) throw(); extern "C" long double __atan2l(long double, long double) throw(); 
# 64
extern "C" long double cosl(long double) throw(); extern "C" long double __cosl(long double) throw(); 
# 66
extern "C" long double sinl(long double) throw(); extern "C" long double __sinl(long double) throw(); 
# 68
extern "C" long double tanl(long double) throw(); extern "C" long double __tanl(long double) throw(); 
# 73
extern "C" long double coshl(long double) throw(); extern "C" long double __coshl(long double) throw(); 
# 75
extern "C" long double sinhl(long double) throw(); extern "C" long double __sinhl(long double) throw(); 
# 77
extern "C" long double tanhl(long double) throw(); extern "C" long double __tanhl(long double) throw(); 
# 82
extern "C" void sincosl(long double, long double *, long double *) throw(); extern "C" void __sincosl(long double, long double *, long double *) throw(); 
# 89
extern "C" long double acoshl(long double) throw(); extern "C" long double __acoshl(long double) throw(); 
# 91
extern "C" long double asinhl(long double) throw(); extern "C" long double __asinhl(long double) throw(); 
# 93
extern "C" long double atanhl(long double) throw(); extern "C" long double __atanhl(long double) throw(); 
# 101
extern "C" long double expl(long double) throw(); extern "C" long double __expl(long double) throw(); 
# 104
extern "C" long double frexpl(long double, int *) throw(); extern "C" long double __frexpl(long double, int *) throw(); 
# 107
extern "C" long double ldexpl(long double, int) throw(); extern "C" long double __ldexpl(long double, int) throw(); 
# 110
extern "C" long double logl(long double) throw(); extern "C" long double __logl(long double) throw(); 
# 113
extern "C" long double log10l(long double) throw(); extern "C" long double __log10l(long double) throw(); 
# 116
extern "C" long double modfl(long double, long double *) throw(); extern "C" long double __modfl(long double, long double *) throw(); 
# 121
extern "C" long double exp10l(long double) throw(); extern "C" long double __exp10l(long double) throw(); 
# 123
extern "C" long double pow10l(long double) throw(); extern "C" long double __pow10l(long double) throw(); 
# 129
extern "C" long double expm1l(long double) throw(); extern "C" long double __expm1l(long double) throw(); 
# 132
extern "C" long double log1pl(long double) throw(); extern "C" long double __log1pl(long double) throw(); 
# 135
extern "C" long double logbl(long double) throw(); extern "C" long double __logbl(long double) throw(); 
# 142
extern "C" long double exp2l(long double) throw(); extern "C" long double __exp2l(long double) throw(); 
# 145
extern "C" long double log2l(long double) throw(); extern "C" long double __log2l(long double) throw(); 
# 154
extern "C" long double powl(long double, long double) throw(); extern "C" long double __powl(long double, long double) throw(); 
# 157
extern "C" long double sqrtl(long double) throw(); extern "C" long double __sqrtl(long double) throw(); 
# 163
extern "C" long double hypotl(long double, long double) throw(); extern "C" long double __hypotl(long double, long double) throw(); 
# 170
extern "C" long double cbrtl(long double) throw(); extern "C" long double __cbrtl(long double) throw(); 
# 179
extern "C" long double ceill(long double) throw() __attribute__((__const__)); extern "C" long double __ceill(long double) throw() __attribute__((__const__)); 
# 182
extern "C" long double fabsl(long double) throw() __attribute__((__const__)); extern "C" long double __fabsl(long double) throw() __attribute__((__const__)); 
# 185
extern "C" long double floorl(long double) throw() __attribute__((__const__)); extern "C" long double __floorl(long double) throw() __attribute__((__const__)); 
# 188
extern "C" long double fmodl(long double, long double) throw(); extern "C" long double __fmodl(long double, long double) throw(); 
# 193
extern "C"  __attribute__((__weak__)) int __isinfl(long double) throw() __attribute__((__const__)); 
# 196
extern "C"  __attribute__((__weak__)) int __finitel(long double) throw() __attribute__((__const__)); 
# 202
extern "C" int isinfl(long double) throw() __attribute__((__const__)); 
# 205
extern "C" int finitel(long double) throw() __attribute__((__const__)); 
# 208
extern "C" long double dreml(long double, long double) throw(); extern "C" long double __dreml(long double, long double) throw(); 
# 212
extern "C" long double significandl(long double) throw(); extern "C" long double __significandl(long double) throw(); 
# 218
extern "C" long double copysignl(long double, long double) throw() __attribute__((__const__)); extern "C" long double __copysignl(long double, long double) throw() __attribute__((__const__)); 
# 225
extern "C" long double nanl(const char *) throw() __attribute__((__const__)); extern "C" long double __nanl(const char *) throw() __attribute__((__const__)); 
# 231
extern "C"  __attribute__((__weak__)) int __isnanl(long double) throw() __attribute__((__const__)); 
# 235
extern "C" int isnanl(long double) throw() __attribute__((__const__)); 
# 238
extern "C" long double j0l(long double) throw(); extern "C" long double __j0l(long double) throw(); 
# 239
extern "C" long double j1l(long double) throw(); extern "C" long double __j1l(long double) throw(); 
# 240
extern "C" long double jnl(int, long double) throw(); extern "C" long double __jnl(int, long double) throw(); 
# 241
extern "C" long double y0l(long double) throw(); extern "C" long double __y0l(long double) throw(); 
# 242
extern "C" long double y1l(long double) throw(); extern "C" long double __y1l(long double) throw(); 
# 243
extern "C" long double ynl(int, long double) throw(); extern "C" long double __ynl(int, long double) throw(); 
# 250
extern "C" long double erfl(long double) throw(); extern "C" long double __erfl(long double) throw(); 
# 251
extern "C" long double erfcl(long double) throw(); extern "C" long double __erfcl(long double) throw(); 
# 252
extern "C" long double lgammal(long double) throw(); extern "C" long double __lgammal(long double) throw(); 
# 259
extern "C" long double tgammal(long double) throw(); extern "C" long double __tgammal(long double) throw(); 
# 265
extern "C" long double gammal(long double) throw(); extern "C" long double __gammal(long double) throw(); 
# 272
extern "C" long double lgammal_r(long double, int *) throw(); extern "C" long double __lgammal_r(long double, int *) throw(); 
# 280
extern "C" long double rintl(long double) throw(); extern "C" long double __rintl(long double) throw(); 
# 283
extern "C" long double nextafterl(long double, long double) throw() __attribute__((__const__)); extern "C" long double __nextafterl(long double, long double) throw() __attribute__((__const__)); 
# 285
extern "C" long double nexttowardl(long double, long double) throw() __attribute__((__const__)); extern "C" long double __nexttowardl(long double, long double) throw() __attribute__((__const__)); 
# 289
extern "C" long double remainderl(long double, long double) throw(); extern "C" long double __remainderl(long double, long double) throw(); 
# 293
extern "C" long double scalbnl(long double, int) throw(); extern "C" long double __scalbnl(long double, int) throw(); 
# 297
extern "C" int ilogbl(long double) throw(); extern "C" int __ilogbl(long double) throw(); 
# 302
extern "C" long double scalblnl(long double, long) throw(); extern "C" long double __scalblnl(long double, long) throw(); 
# 306
extern "C" long double nearbyintl(long double) throw(); extern "C" long double __nearbyintl(long double) throw(); 
# 310
extern "C" long double roundl(long double) throw() __attribute__((__const__)); extern "C" long double __roundl(long double) throw() __attribute__((__const__)); 
# 314
extern "C" long double truncl(long double) throw() __attribute__((__const__)); extern "C" long double __truncl(long double) throw() __attribute__((__const__)); 
# 319
extern "C" long double remquol(long double, long double, int *) throw(); extern "C" long double __remquol(long double, long double, int *) throw(); 
# 326
extern "C" long lrintl(long double) throw(); extern "C" long __lrintl(long double) throw(); 
# 327
extern "C" long long llrintl(long double) throw(); extern "C" long long __llrintl(long double) throw(); 
# 331
extern "C" long lroundl(long double) throw(); extern "C" long __lroundl(long double) throw(); 
# 332
extern "C" long long llroundl(long double) throw(); extern "C" long long __llroundl(long double) throw(); 
# 336
extern "C" long double fdiml(long double, long double) throw(); extern "C" long double __fdiml(long double, long double) throw(); 
# 339
extern "C" long double fmaxl(long double, long double) throw(); extern "C" long double __fmaxl(long double, long double) throw(); 
# 342
extern "C" long double fminl(long double, long double) throw(); extern "C" long double __fminl(long double, long double) throw(); 
# 346
extern "C" int __fpclassifyl(long double) throw() __attribute__((__const__)); 
# 350
extern "C"  __attribute__((__weak__)) int __signbitl(long double) throw() __attribute__((__const__)); 
# 355
extern "C" long double fmal(long double, long double, long double) throw(); extern "C" long double __fmal(long double, long double, long double) throw(); 
# 364
extern "C" long double scalbl(long double, long double) throw(); extern "C" long double __scalbl(long double, long double) throw(); 
# 161 "/usr/include/math.h" 3
extern "C" { extern int signgam; } 
# 203
enum { 
# 204
FP_NAN, 
# 206
FP_INFINITE, 
# 208
FP_ZERO, 
# 210
FP_SUBNORMAL, 
# 212
FP_NORMAL
# 214
}; 
# 302 "/usr/include/math.h" 3
extern "C" { typedef 
# 296
enum { 
# 297
_IEEE_ = (-1), 
# 298
_SVID_, 
# 299
_XOPEN_, 
# 300
_POSIX_, 
# 301
_ISOC_
# 302
} _LIB_VERSION_TYPE; }
# 307
extern "C" { extern _LIB_VERSION_TYPE _LIB_VERSION; } 
# 318
extern "C" { struct __exception { 
# 323
int type; 
# 324
char *name; 
# 325
double arg1; 
# 326
double arg2; 
# 327
double retval; 
# 328
}; }
# 331
extern "C" int matherr(__exception *) throw(); 
# 67 "/usr/include/bits/waitstatus.h" 3
extern "C" { union wait { 
# 69
int w_status; 
# 71
struct { 
# 73
unsigned __w_termsig:7; 
# 74
unsigned __w_coredump:1; 
# 75
unsigned __w_retcode:8; 
# 76
unsigned:16; 
# 84
} __wait_terminated; 
# 86
struct { 
# 88
unsigned __w_stopval:8; 
# 89
unsigned __w_stopsig:8; 
# 90
unsigned:16; 
# 97
} __wait_stopped; 
# 98
}; }
# 102 "/usr/include/stdlib.h" 3
extern "C" { typedef 
# 99
struct { 
# 100
int quot; 
# 101
int rem; 
# 102
} div_t; }
# 110
extern "C" { typedef 
# 107
struct { 
# 108
long quot; 
# 109
long rem; 
# 110
} ldiv_t; }
# 122
extern "C" { typedef 
# 119
struct { 
# 120
long long quot; 
# 121
long long rem; 
# 122
} lldiv_t; }
# 140
extern "C" size_t __ctype_get_mb_cur_max() throw(); 
# 145
extern "C" double atof(const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 148
extern "C" int atoi(const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 151
extern "C" long atol(const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 158
extern "C" long long atoll(const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 165
extern "C" double strtod(const char *__restrict__, char **__restrict__) throw() __attribute__((nonnull(1))); 
# 173
extern "C" float strtof(const char *__restrict__, char **__restrict__) throw() __attribute__((nonnull(1))); 
# 176
extern "C" long double strtold(const char *__restrict__, char **__restrict__) throw() __attribute__((nonnull(1))); 
# 184
extern "C" long strtol(const char *__restrict__, char **__restrict__, int) throw() __attribute__((nonnull(1))); 
# 188
extern "C" unsigned long strtoul(const char *__restrict__, char **__restrict__, int) throw() __attribute__((nonnull(1))); 
# 196
extern "C" long long strtoq(const char *__restrict__, char **__restrict__, int) throw() __attribute__((nonnull(1))); 
# 201
extern "C" unsigned long long strtouq(const char *__restrict__, char **__restrict__, int) throw() __attribute__((nonnull(1))); 
# 210
extern "C" long long strtoll(const char *__restrict__, char **__restrict__, int) throw() __attribute__((nonnull(1))); 
# 215
extern "C" unsigned long long strtoull(const char *__restrict__, char **__restrict__, int) throw() __attribute__((nonnull(1))); 
# 240 "/usr/include/stdlib.h" 3
extern "C" long strtol_l(const char *__restrict__, char **__restrict__, int, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(4))); 
# 244
extern "C" unsigned long strtoul_l(const char *__restrict__, char **__restrict__, int, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(4))); 
# 250
extern "C" long long strtoll_l(const char *__restrict__, char **__restrict__, int, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(4))); 
# 256
extern "C" unsigned long long strtoull_l(const char *__restrict__, char **__restrict__, int, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(4))); 
# 261
extern "C" double strtod_l(const char *__restrict__, char **__restrict__, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(3))); 
# 265
extern "C" float strtof_l(const char *__restrict__, char **__restrict__, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(3))); 
# 269
extern "C" long double strtold_l(const char *__restrict__, char **__restrict__, __locale_t) throw() __attribute__((nonnull(1))) __attribute__((nonnull(3))); 
# 311 "/usr/include/stdlib.h" 3
extern "C" char *l64a(long) throw(); 
# 314
extern "C" long a64l(const char *) throw() __attribute__((__pure__)) __attribute__((nonnull(1))); 
# 35 "/usr/include/sys/types.h" 3
extern "C" { typedef __u_char u_char; }
# 36
extern "C" { typedef __u_short u_short; }
# 37
extern "C" { typedef __u_int u_int; }
# 38
extern "C" { typedef __u_long u_long; }
# 39
extern "C" { typedef __quad_t quad_t; }
# 40
extern "C" { typedef __u_quad_t u_quad_t; }
# 41
extern "C" { typedef __fsid_t fsid_t; }
# 46
extern "C" { typedef __loff_t loff_t; }
# 50
extern "C" { typedef __ino_t ino_t; }
# 57
extern "C" { typedef __ino64_t ino64_t; }
# 62
extern "C" { typedef __dev_t dev_t; }
# 67
extern "C" { typedef __gid_t gid_t; }
# 72
extern "C" { typedef __mode_t mode_t; }
# 77
extern "C" { typedef __nlink_t nlink_t; }
# 82
extern "C" { typedef __uid_t uid_t; }
# 88
extern "C" { typedef __off_t off_t; }
# 95
extern "C" { typedef __off64_t off64_t; }
# 105 "/usr/include/sys/types.h" 3
extern "C" { typedef __id_t id_t; }
# 110
extern "C" { typedef __ssize_t ssize_t; }
# 116
extern "C" { typedef __daddr_t daddr_t; }
# 117
extern "C" { typedef __caddr_t caddr_t; }
# 123
extern "C" { typedef __key_t key_t; }
# 137 "/usr/include/sys/types.h" 3
extern "C" { typedef __useconds_t useconds_t; }
# 141
extern "C" { typedef __suseconds_t suseconds_t; }
# 151 "/usr/include/sys/types.h" 3
extern "C" { typedef unsigned long ulong; }
# 152
extern "C" { typedef unsigned short ushort; }
# 153
extern "C" { typedef unsigned uint; }
# 195 "/usr/include/sys/types.h" 3
extern "C" { typedef signed char int8_t; }
# 196
extern "C" { typedef short int16_t; }
# 197
extern "C" { typedef int int32_t; }
# 198
extern "C" { typedef long int64_t; }
# 201
extern "C" { typedef unsigned char u_int8_t; }
# 202
extern "C" { typedef unsigned short u_int16_t; }
# 203
extern "C" { typedef unsigned u_int32_t; }
# 204
extern "C" { typedef unsigned long u_int64_t; }
# 206
extern "C" { typedef int register_t; }
# 24 "/usr/include/bits/sigset.h" 3
extern "C" { typedef int __sig_atomic_t; }
# 32
extern "C" { typedef 
# 30
struct { 
# 31
unsigned long __val[((1024) / ((8) * sizeof(unsigned long)))]; 
# 32
} __sigset_t; }
# 38 "/usr/include/sys/select.h" 3
extern "C" { typedef __sigset_t sigset_t; }
# 69 "/usr/include/bits/time.h" 3
extern "C" { struct timeval { 
# 71
__time_t tv_sec; 
# 72
__suseconds_t tv_usec; 
# 73
}; }
# 55 "/usr/include/sys/select.h" 3
extern "C" { typedef long __fd_mask; }
# 78
extern "C" { typedef 
# 68
struct { 
# 72
__fd_mask fds_bits[(1024 / (8 * ((int)sizeof(__fd_mask))))]; 
# 78
} fd_set; }
# 85
extern "C" { typedef __fd_mask fd_mask; }
# 109
extern "C" int select(int, fd_set *__restrict__, fd_set *__restrict__, fd_set *__restrict__, timeval *__restrict__); 
# 121
extern "C" int pselect(int, fd_set *__restrict__, fd_set *__restrict__, fd_set *__restrict__, const timespec *__restrict__, const __sigset_t *__restrict__); 
# 31 "/usr/include/sys/sysmacros.h" 3
extern "C" unsigned gnu_dev_major(unsigned long long) throw(); 
# 34
extern "C" unsigned gnu_dev_minor(unsigned long long) throw(); 
# 37
extern "C" unsigned long long gnu_dev_makedev(unsigned, unsigned) throw(); 
# 228 "/usr/include/sys/types.h" 3
extern "C" { typedef __blksize_t blksize_t; }
# 235
extern "C" { typedef __blkcnt_t blkcnt_t; }
# 239
extern "C" { typedef __fsblkcnt_t fsblkcnt_t; }
# 243
extern "C" { typedef __fsfilcnt_t fsfilcnt_t; }
# 262 "/usr/include/sys/types.h" 3
extern "C" { typedef __blkcnt64_t blkcnt64_t; }
# 263
extern "C" { typedef __fsblkcnt64_t fsblkcnt64_t; }
# 264
extern "C" { typedef __fsfilcnt64_t fsfilcnt64_t; }
# 50 "/usr/include/bits/pthreadtypes.h" 3
extern "C" { typedef unsigned long pthread_t; }
# 57
extern "C" { typedef 
# 54
union { 
# 55
char __size[56]; 
# 56
long __align; 
# 57
} pthread_attr_t; }
# 65
extern "C" { typedef 
# 61
struct __pthread_internal_list { 
# 63
__pthread_internal_list *__prev; 
# 64
__pthread_internal_list *__next; 
# 65
} __pthread_list_t; }
# 104 "/usr/include/bits/pthreadtypes.h" 3
extern "C" { typedef 
# 77 "/usr/include/bits/pthreadtypes.h" 3
union { 
# 78
struct __pthread_mutex_s { 
# 80
int __lock; 
# 81
unsigned __count; 
# 82
int __owner; 
# 84
unsigned __nusers; 
# 88
int __kind; 
# 90
int __spins; 
# 91
__pthread_list_t __list; 
# 101 "/usr/include/bits/pthreadtypes.h" 3
} __data; 
# 102
char __size[40]; 
# 103
long __align; 
# 104
} pthread_mutex_t; }
# 110
extern "C" { typedef 
# 107
union { 
# 108
char __size[4]; 
# 109
int __align; 
# 110
} pthread_mutexattr_t; }
# 130
extern "C" { typedef 
# 116
union { 
# 118
struct { 
# 119
int __lock; 
# 120
unsigned __futex; 
# 121
__extension__ unsigned long long __total_seq; 
# 122
__extension__ unsigned long long __wakeup_seq; 
# 123
__extension__ unsigned long long __woken_seq; 
# 124
void *__mutex; 
# 125
unsigned __nwaiters; 
# 126
unsigned __broadcast_seq; 
# 127
} __data; 
# 128
char __size[48]; 
# 129
__extension__ long long __align; 
# 130
} pthread_cond_t; }
# 136
extern "C" { typedef 
# 133
union { 
# 134
char __size[4]; 
# 135
int __align; 
# 136
} pthread_condattr_t; }
# 140
extern "C" { typedef unsigned pthread_key_t; }
# 144
extern "C" { typedef int pthread_once_t; }
# 189 "/usr/include/bits/pthreadtypes.h" 3
extern "C" { typedef 
# 151 "/usr/include/bits/pthreadtypes.h" 3
union { 
# 154
struct { 
# 155
int __lock; 
# 156
unsigned __nr_readers; 
# 157
unsigned __readers_wakeup; 
# 158
unsigned __writer_wakeup; 
# 159
unsigned __nr_readers_queued; 
# 160
unsigned __nr_writers_queued; 
# 161
int __writer; 
# 162
int __shared; 
# 163
unsigned long __pad1; 
# 164
unsigned long __pad2; 
# 167
unsigned __flags; 
# 168
} __data; 
# 187 "/usr/include/bits/pthreadtypes.h" 3
char __size[56]; 
# 188
long __align; 
# 189
} pthread_rwlock_t; }
# 195
extern "C" { typedef 
# 192
union { 
# 193
char __size[8]; 
# 194
long __align; 
# 195
} pthread_rwlockattr_t; }
# 201
extern "C" { typedef volatile int pthread_spinlock_t; }
# 210
extern "C" { typedef 
# 207
union { 
# 208
char __size[32]; 
# 209
long __align; 
# 210
} pthread_barrier_t; }
# 216
extern "C" { typedef 
# 213
union { 
# 214
char __size[4]; 
# 215
int __align; 
# 216
} pthread_barrierattr_t; }
# 327 "/usr/include/stdlib.h" 3
extern "C" long random() throw(); 
# 330
extern "C" void srandom(unsigned) throw(); 
# 336
extern "C" char *initstate(unsigned, char *, size_t) throw() __attribute__((nonnull(2))); 
# 341
extern "C" char *setstate(char *) throw() __attribute__((nonnull(1))); 
# 349
extern "C" { struct random_data { 
# 351
int32_t *fptr; 
# 352
int32_t *rptr; 
# 353
int32_t *state; 
# 354
int rand_type; 
# 355
int rand_deg; 
# 356
int rand_sep; 
# 357
int32_t *end_ptr; 
# 358
}; }
# 360
extern "C" int random_r(random_data *__restrict__, int32_t *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 363
extern "C" int srandom_r(unsigned, random_data *) throw() __attribute__((nonnull(2))); 
# 366
extern "C" int initstate_r(unsigned, char *__restrict__, size_t, random_data *__restrict__) throw() __attribute__((nonnull(2))) __attribute__((nonnull(4))); 
# 371
extern "C" int setstate_r(char *__restrict__, random_data *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 380
extern "C" int rand() throw(); 
# 382
extern "C" void srand(unsigned) throw(); 
# 387
extern "C" int rand_r(unsigned *) throw(); 
# 395
extern "C" double drand48() throw(); 
# 396
extern "C" double erand48(unsigned short [3]) throw() __attribute__((nonnull(1))); 
# 399
extern "C" long lrand48() throw(); 
# 400
extern "C" long nrand48(unsigned short [3]) throw() __attribute__((nonnull(1))); 
# 404
extern "C" long mrand48() throw(); 
# 405
extern "C" long jrand48(unsigned short [3]) throw() __attribute__((nonnull(1))); 
# 409
extern "C" void srand48(long) throw(); 
# 410
extern "C" unsigned short *seed48(unsigned short [3]) throw() __attribute__((nonnull(1))); 
# 412
extern "C" void lcong48(unsigned short [7]) throw() __attribute__((nonnull(1))); 
# 418
extern "C" { struct drand48_data { 
# 420
unsigned short __x[3]; 
# 421
unsigned short __old_x[3]; 
# 422
unsigned short __c; 
# 423
unsigned short __init; 
# 424
unsigned long long __a; 
# 425
}; }
# 428
extern "C" int drand48_r(drand48_data *__restrict__, double *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 430
extern "C" int erand48_r(unsigned short [3], drand48_data *__restrict__, double *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 435
extern "C" int lrand48_r(drand48_data *__restrict__, long *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 438
extern "C" int nrand48_r(unsigned short [3], drand48_data *__restrict__, long *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 444
extern "C" int mrand48_r(drand48_data *__restrict__, long *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 447
extern "C" int jrand48_r(unsigned short [3], drand48_data *__restrict__, long *__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 453
extern "C" int srand48_r(long, drand48_data *) throw() __attribute__((nonnull(2))); 
# 456
extern "C" int seed48_r(unsigned short [3], drand48_data *) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 459
extern "C" int lcong48_r(unsigned short [7], drand48_data *) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))); 
# 471
extern "C" void *malloc(size_t) throw() __attribute__((__malloc__)); 
# 473
extern "C" void *calloc(size_t, size_t) throw() __attribute__((__malloc__)); 
# 485
extern "C" void *realloc(void *, size_t) throw() __attribute__((__warn_unused_result__)); 
# 488
extern "C" void free(void *) throw(); 
# 493
extern "C" void cfree(void *) throw(); 
# 33 "/usr/include/alloca.h" 3
extern "C" void *alloca(size_t) throw(); 
# 502 "/usr/include/stdlib.h" 3
extern "C" void *valloc(size_t) throw() __attribute__((__malloc__)); 
# 507
extern "C" int posix_memalign(void **, size_t, size_t) throw() __attribute__((nonnull(1))); 
# 513
extern "C" void abort() throw() __attribute__((__noreturn__)); 
# 517
extern "C" int atexit(void (*)(void)) throw() __attribute__((nonnull(1))); 
# 524
int at_quick_exit(void (*)(void)) throw() __asm__("at_quick_exit") __attribute__((nonnull(1))); 
# 535
extern "C" int on_exit(void (*)(int, void *), void *) throw() __attribute__((nonnull(1))); 
# 543
extern "C" void exit(int) throw() __attribute__((__noreturn__)); 
# 551
extern "C" void quick_exit(int) throw() __attribute__((__noreturn__)); 
# 559
extern "C" void _Exit(int) throw() __attribute__((__noreturn__)); 
# 566
extern "C" char *getenv(const char *) throw() __attribute__((nonnull(1))); 
# 571
extern "C" char *__secure_getenv(const char *) throw() __attribute__((nonnull(1))); 
# 578
extern "C" int putenv(char *) throw() __attribute__((nonnull(1))); 
# 584
extern "C" int setenv(const char *, const char *, int) throw() __attribute__((nonnull(2))); 
# 588
extern "C" int unsetenv(const char *) throw(); 
# 595
extern "C" int clearenv() throw(); 
# 604
extern "C" char *mktemp(char *) throw() __attribute__((nonnull(1))); 
# 615
extern "C" int mkstemp(char *) __attribute__((nonnull(1))); 
# 625 "/usr/include/stdlib.h" 3
extern "C" int mkstemp64(char *) __attribute__((nonnull(1))); 
# 637
extern "C" int mkstemps(char *, int) __attribute__((nonnull(1))); 
# 647 "/usr/include/stdlib.h" 3
extern "C" int mkstemps64(char *, int) __attribute__((nonnull(1))); 
# 658
extern "C" char *mkdtemp(char *) throw() __attribute__((nonnull(1))); 
# 669
extern "C" int mkostemp(char *, int) __attribute__((nonnull(1))); 
# 679 "/usr/include/stdlib.h" 3
extern "C" int mkostemp64(char *, int) __attribute__((nonnull(1))); 
# 689
extern "C" int mkostemps(char *, int, int) __attribute__((nonnull(1))); 
# 701 "/usr/include/stdlib.h" 3
extern "C" int mkostemps64(char *, int, int) __attribute__((nonnull(1))); 
# 712
extern "C" int system(const char *); 
# 719
extern "C" char *canonicalize_file_name(const char *) throw() __attribute__((nonnull(1))); 
# 729
extern "C" char *realpath(const char *__restrict__, char *__restrict__) throw(); 
# 737
extern "C" { typedef int (*__compar_fn_t)(const void *, const void *); }
# 740
extern "C" { typedef __compar_fn_t comparison_fn_t; }
# 744
extern "C" { typedef int (*__compar_d_fn_t)(const void *, const void *, void *); }
# 750
extern "C" void *bsearch(const void *, const void *, size_t, size_t, __compar_fn_t) __attribute__((nonnull(1))) __attribute__((nonnull(2))) __attribute__((nonnull(5))); 
# 756
extern "C" void qsort(void *, size_t, size_t, __compar_fn_t) __attribute__((nonnull(1))) __attribute__((nonnull(4))); 
# 759
extern "C" void qsort_r(void *, size_t, size_t, __compar_d_fn_t, void *) __attribute__((nonnull(1))) __attribute__((nonnull(4))); 
# 766
extern "C"  __attribute__((__weak__)) int abs(int) throw() __attribute__((__const__)); 
# 767
extern "C"  __attribute__((__weak__)) long labs(long) throw() __attribute__((__const__)); 
# 771
extern "C"  __attribute__((__weak__)) long long llabs(long long) throw() __attribute__((__const__)); 
# 780
extern "C" div_t div(int, int) throw() __attribute__((__const__)); 
# 782
extern "C" ldiv_t ldiv(long, long) throw() __attribute__((__const__)); 
# 788
extern "C" lldiv_t lldiv(long long, long long) throw() __attribute__((__const__)); 
# 802
extern "C" char *ecvt(double, int, int *__restrict__, int *__restrict__) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))); 
# 808
extern "C" char *fcvt(double, int, int *__restrict__, int *__restrict__) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))); 
# 814
extern "C" char *gcvt(double, int, char *) throw() __attribute__((nonnull(3))); 
# 820
extern "C" char *qecvt(long double, int, int *__restrict__, int *__restrict__) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))); 
# 823
extern "C" char *qfcvt(long double, int, int *__restrict__, int *__restrict__) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))); 
# 826
extern "C" char *qgcvt(long double, int, char *) throw() __attribute__((nonnull(3))); 
# 832
extern "C" int ecvt_r(double, int, int *__restrict__, int *__restrict__, char *__restrict__, size_t) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))) __attribute__((nonnull(5))); 
# 835
extern "C" int fcvt_r(double, int, int *__restrict__, int *__restrict__, char *__restrict__, size_t) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))) __attribute__((nonnull(5))); 
# 839
extern "C" int qecvt_r(long double, int, int *__restrict__, int *__restrict__, char *__restrict__, size_t) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))) __attribute__((nonnull(5))); 
# 843
extern "C" int qfcvt_r(long double, int, int *__restrict__, int *__restrict__, char *__restrict__, size_t) throw() __attribute__((nonnull(3))) __attribute__((nonnull(4))) __attribute__((nonnull(5))); 
# 854
extern "C" int mblen(const char *, size_t) throw(); 
# 857
extern "C" int mbtowc(wchar_t *__restrict__, const char *__restrict__, size_t) throw(); 
# 861
extern "C" int wctomb(char *, wchar_t) throw(); 
# 865
extern "C" size_t mbstowcs(wchar_t *__restrict__, const char *__restrict__, size_t) throw(); 
# 868
extern "C" size_t wcstombs(char *__restrict__, const wchar_t *__restrict__, size_t) throw(); 
# 879
extern "C" int rpmatch(const char *) throw() __attribute__((nonnull(1))); 
# 890
extern "C" int getsubopt(char **__restrict__, char *const *__restrict__, char **__restrict__) throw() __attribute__((nonnull(1))) __attribute__((nonnull(2))) __attribute__((nonnull(3))); 
# 899
extern "C" void setkey(const char *) throw() __attribute__((nonnull(1))); 
# 907
extern "C" int posix_openpt(int); 
# 915
extern "C" int grantpt(int) throw(); 
# 919
extern "C" int unlockpt(int) throw(); 
# 924
extern "C" char *ptsname(int) throw(); 
# 931
extern "C" int ptsname_r(int, char *, size_t) throw() __attribute__((nonnull(2))); 
# 935
extern "C" int getpt(); 
# 942
extern "C" int getloadavg(double [], int) throw() __attribute__((nonnull(1))); 
# 69 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
namespace __gnu_cxx __attribute__((visibility("default"))) { 
# 71
template<class _Iterator, class _Container> class __normal_iterator; 
# 74
}
# 76
namespace std __attribute__((visibility("default"))) { 
# 78
struct __true_type { }; 
# 79
struct __false_type { }; 
# 81
template<bool __T0> 
# 82
struct __truth_type { 
# 83
typedef __false_type __type; }; 
# 86
template<> struct __truth_type< true>  { 
# 87
typedef __true_type __type; }; 
# 91
template<class _Sp, class _Tp> 
# 92
struct __traitor { 
# 94
enum { __value = (((bool)_Sp::__value) || ((bool)_Tp::__value))}; 
# 95
typedef typename __truth_type< __value> ::__type __type; 
# 96
}; 
# 99
template<class , class > 
# 100
struct __are_same { 
# 102
enum { __value}; 
# 103
typedef __false_type __type; 
# 104
}; 
# 106
template<class _Tp> 
# 107
struct __are_same< _Tp, _Tp>  { 
# 109
enum { __value = 1}; 
# 110
typedef __true_type __type; 
# 111
}; 
# 114
template<class _Tp> 
# 115
struct __is_void { 
# 117
enum { __value}; 
# 118
typedef __false_type __type; 
# 119
}; 
# 122
template<> struct __is_void< void>  { 
# 124
enum { __value = 1}; 
# 125
typedef __true_type __type; 
# 126
}; 
# 131
template<class _Tp> 
# 132
struct __is_integer { 
# 134
enum { __value}; 
# 135
typedef __false_type __type; 
# 136
}; 
# 142
template<> struct __is_integer< bool>  { 
# 144
enum { __value = 1}; 
# 145
typedef __true_type __type; 
# 146
}; 
# 149
template<> struct __is_integer< char>  { 
# 151
enum { __value = 1}; 
# 152
typedef __true_type __type; 
# 153
}; 
# 156
template<> struct __is_integer< signed char>  { 
# 158
enum { __value = 1}; 
# 159
typedef __true_type __type; 
# 160
}; 
# 163
template<> struct __is_integer< unsigned char>  { 
# 165
enum { __value = 1}; 
# 166
typedef __true_type __type; 
# 167
}; 
# 171
template<> struct __is_integer< wchar_t>  { 
# 173
enum { __value = 1}; 
# 174
typedef __true_type __type; 
# 175
}; 
# 195 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
template<> struct __is_integer< short>  { 
# 197
enum { __value = 1}; 
# 198
typedef __true_type __type; 
# 199
}; 
# 202
template<> struct __is_integer< unsigned short>  { 
# 204
enum { __value = 1}; 
# 205
typedef __true_type __type; 
# 206
}; 
# 209
template<> struct __is_integer< int>  { 
# 211
enum { __value = 1}; 
# 212
typedef __true_type __type; 
# 213
}; 
# 216
template<> struct __is_integer< unsigned>  { 
# 218
enum { __value = 1}; 
# 219
typedef __true_type __type; 
# 220
}; 
# 223
template<> struct __is_integer< long>  { 
# 225
enum { __value = 1}; 
# 226
typedef __true_type __type; 
# 227
}; 
# 230
template<> struct __is_integer< unsigned long>  { 
# 232
enum { __value = 1}; 
# 233
typedef __true_type __type; 
# 234
}; 
# 237
template<> struct __is_integer< long long>  { 
# 239
enum { __value = 1}; 
# 240
typedef __true_type __type; 
# 241
}; 
# 244
template<> struct __is_integer< unsigned long long>  { 
# 246
enum { __value = 1}; 
# 247
typedef __true_type __type; 
# 248
}; 
# 253
template<class _Tp> 
# 254
struct __is_floating { 
# 256
enum { __value}; 
# 257
typedef __false_type __type; 
# 258
}; 
# 262
template<> struct __is_floating< float>  { 
# 264
enum { __value = 1}; 
# 265
typedef __true_type __type; 
# 266
}; 
# 269
template<> struct __is_floating< double>  { 
# 271
enum { __value = 1}; 
# 272
typedef __true_type __type; 
# 273
}; 
# 276
template<> struct __is_floating< long double>  { 
# 278
enum { __value = 1}; 
# 279
typedef __true_type __type; 
# 280
}; 
# 285
template<class _Tp> 
# 286
struct __is_pointer { 
# 288
enum { __value}; 
# 289
typedef __false_type __type; 
# 290
}; 
# 292
template<class _Tp> 
# 293
struct __is_pointer< _Tp *>  { 
# 295
enum { __value = 1}; 
# 296
typedef __true_type __type; 
# 297
}; 
# 302
template<class _Tp> 
# 303
struct __is_normal_iterator { 
# 305
enum { __value}; 
# 306
typedef __false_type __type; 
# 307
}; 
# 309
template<class _Iterator, class _Container> 
# 310
struct __is_normal_iterator< __gnu_cxx::__normal_iterator< _Iterator, _Container> >  { 
# 313
enum { __value = 1}; 
# 314
typedef __true_type __type; 
# 315
}; 
# 320
template<class _Tp> 
# 321
struct __is_arithmetic : public __traitor< __is_integer< _Tp> , __is_floating< _Tp> >  { 
# 323
}; 
# 328
template<class _Tp> 
# 329
struct __is_fundamental : public __traitor< __is_void< _Tp> , __is_arithmetic< _Tp> >  { 
# 331
}; 
# 336
template<class _Tp> 
# 337
struct __is_scalar : public __traitor< __is_arithmetic< _Tp> , __is_pointer< _Tp> >  { 
# 339
}; 
# 344
template<class _Tp> 
# 345
struct __is_char { 
# 347
enum { __value}; 
# 348
typedef __false_type __type; 
# 349
}; 
# 352
template<> struct __is_char< char>  { 
# 354
enum { __value = 1}; 
# 355
typedef __true_type __type; 
# 356
}; 
# 360
template<> struct __is_char< wchar_t>  { 
# 362
enum { __value = 1}; 
# 363
typedef __true_type __type; 
# 364
}; 
# 367
template<class _Tp> 
# 368
struct __is_byte { 
# 370
enum { __value}; 
# 371
typedef __false_type __type; 
# 372
}; 
# 375
template<> struct __is_byte< char>  { 
# 377
enum { __value = 1}; 
# 378
typedef __true_type __type; 
# 379
}; 
# 382
template<> struct __is_byte< signed char>  { 
# 384
enum { __value = 1}; 
# 385
typedef __true_type __type; 
# 386
}; 
# 389
template<> struct __is_byte< unsigned char>  { 
# 391
enum { __value = 1}; 
# 392
typedef __true_type __type; 
# 393
}; 
# 398
template<class _Tp> 
# 399
struct __is_move_iterator { 
# 401
enum { __value}; 
# 402
typedef __false_type __type; 
# 403
}; 
# 417 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
}
# 37 "/usr/include/c++/4.4/ext/type_traits.h" 3
namespace __gnu_cxx __attribute__((visibility("default"))) { 
# 40
template<bool __T1, class > 
# 41
struct __enable_if { 
# 42
}; 
# 44
template<class _Tp> 
# 45
struct __enable_if< true, _Tp>  { 
# 46
typedef _Tp __type; }; 
# 50
template<bool _Cond, class _Iftrue, class _Iffalse> 
# 51
struct __conditional_type { 
# 52
typedef _Iftrue __type; }; 
# 54
template<class _Iftrue, class _Iffalse> 
# 55
struct __conditional_type< false, _Iftrue, _Iffalse>  { 
# 56
typedef _Iffalse __type; }; 
# 60
template<class _Tp> 
# 61
struct __add_unsigned { 
# 64
private: typedef __enable_if< std::__is_integer< _Tp> ::__value, _Tp>  __if_type; 
# 67
public: typedef typename __enable_if< std::__is_integer< _Tp> ::__value, _Tp> ::__type __type; 
# 68
}; 
# 71
template<> struct __add_unsigned< char>  { 
# 72
typedef unsigned char __type; }; 
# 75
template<> struct __add_unsigned< signed char>  { 
# 76
typedef unsigned char __type; }; 
# 79
template<> struct __add_unsigned< short>  { 
# 80
typedef unsigned short __type; }; 
# 83
template<> struct __add_unsigned< int>  { 
# 84
typedef unsigned __type; }; 
# 87
template<> struct __add_unsigned< long>  { 
# 88
typedef unsigned long __type; }; 
# 91
template<> struct __add_unsigned< long long>  { 
# 92
typedef unsigned long long __type; }; 
# 96
template<> struct __add_unsigned< bool> ; 
# 99
template<> struct __add_unsigned< wchar_t> ; 
# 103
template<class _Tp> 
# 104
struct __remove_unsigned { 
# 107
private: typedef __enable_if< std::__is_integer< _Tp> ::__value, _Tp>  __if_type; 
# 110
public: typedef typename __enable_if< std::__is_integer< _Tp> ::__value, _Tp> ::__type __type; 
# 111
}; 
# 114
template<> struct __remove_unsigned< char>  { 
# 115
typedef signed char __type; }; 
# 118
template<> struct __remove_unsigned< unsigned char>  { 
# 119
typedef signed char __type; }; 
# 122
template<> struct __remove_unsigned< unsigned short>  { 
# 123
typedef short __type; }; 
# 126
template<> struct __remove_unsigned< unsigned>  { 
# 127
typedef int __type; }; 
# 130
template<> struct __remove_unsigned< unsigned long>  { 
# 131
typedef long __type; }; 
# 134
template<> struct __remove_unsigned< unsigned long long>  { 
# 135
typedef long long __type; }; 
# 139
template<> struct __remove_unsigned< bool> ; 
# 142
template<> struct __remove_unsigned< wchar_t> ; 
# 146
template < typename _Type >
    inline bool
    __is_null_pointer ( _Type * __ptr )
    { return __ptr == 0; }
# 151
template < typename _Type >
    inline bool
    __is_null_pointer ( _Type )
    { return false; }
# 158
template<class _Tp, bool __T2 = std::__is_integer< _Tp> ::__value> 
# 159
struct __promote { 
# 160
typedef double __type; }; 
# 162
template<class _Tp> 
# 163
struct __promote< _Tp, false>  { 
# 164
typedef _Tp __type; }; 
# 166
template<class _Tp, class _Up> 
# 167
struct __promote_2 { 
# 170
private: typedef typename __promote< _Tp, std::__is_integer< _Tp> ::__value> ::__type __type1; 
# 171
typedef typename __promote< _Up, std::__is_integer< _Up> ::__value> ::__type __type2; 
# 174
public: typedef __typeof__(__type1() + __type2()) __type; 
# 175
}; 
# 177
template<class _Tp, class _Up, class _Vp> 
# 178
struct __promote_3 { 
# 181
private: typedef typename __promote< _Tp, std::__is_integer< _Tp> ::__value> ::__type __type1; 
# 182
typedef typename __promote< _Up, std::__is_integer< _Up> ::__value> ::__type __type2; 
# 183
typedef typename __promote< _Vp, std::__is_integer< _Vp> ::__value> ::__type __type3; 
# 186
public: typedef __typeof__((__type1() + __type2()) + __type3()) __type; 
# 187
}; 
# 189
template<class _Tp, class _Up, class _Vp, class _Wp> 
# 190
struct __promote_4 { 
# 193
private: typedef typename __promote< _Tp, std::__is_integer< _Tp> ::__value> ::__type __type1; 
# 194
typedef typename __promote< _Up, std::__is_integer< _Up> ::__value> ::__type __type2; 
# 195
typedef typename __promote< _Vp, std::__is_integer< _Vp> ::__value> ::__type __type3; 
# 196
typedef typename __promote< _Wp, std::__is_integer< _Wp> ::__value> ::__type __type4; 
# 199
public: typedef __typeof__(((__type1() + __type2()) + __type3()) + __type4()) __type; 
# 200
}; 
# 202
}
# 77 "/usr/include/c++/4.4/cmath" 3
namespace std __attribute__((visibility("default"))) { 
# 81
template < typename _Tp >
    _Tp __cmath_power ( _Tp, unsigned int );
# 84
template < typename _Tp >
    inline _Tp
    __pow_helper ( _Tp __x, int __n )
    {
      return __n < 0
        ? _Tp ( 1 ) / __cmath_power ( __x, - __n )
        : __cmath_power ( __x, __n );
    }
# 94
inline double abs(double __x) 
# 95
{ return __builtin_fabs(__x); } 
# 98
inline float abs(float __x) 
# 99
{ return __builtin_fabsf(__x); } 
# 102
inline long double abs(long double __x) 
# 103
{ return __builtin_fabsl(__x); } 
# 105
using ::acos;
# 108
inline float acos(float __x) 
# 109
{ return __builtin_acosf(__x); } 
# 112
inline long double acos(long double __x) 
# 113
{ return __builtin_acosl(__x); } 
# 115
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    acos ( _Tp __x )
    { return __builtin_acos ( __x ); }
# 121
using ::asin;
# 124
inline float asin(float __x) 
# 125
{ return __builtin_asinf(__x); } 
# 128
inline long double asin(long double __x) 
# 129
{ return __builtin_asinl(__x); } 
# 131
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    asin ( _Tp __x )
    { return __builtin_asin ( __x ); }
# 137
using ::atan;
# 140
inline float atan(float __x) 
# 141
{ return __builtin_atanf(__x); } 
# 144
inline long double atan(long double __x) 
# 145
{ return __builtin_atanl(__x); } 
# 147
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    atan ( _Tp __x )
    { return __builtin_atan ( __x ); }
# 153
using ::atan2;
# 156
inline float atan2(float __y, float __x) 
# 157
{ return __builtin_atan2f(__y, __x); } 
# 160
inline long double atan2(long double __y, long double __x) 
# 161
{ return __builtin_atan2l(__y, __x); } 
# 163
template < typename _Tp, typename _Up >
    inline
    typename __gnu_cxx :: __promote_2 <
    typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value
        && __is_arithmetic < _Up > :: __value,
        _Tp > :: __type, _Up > :: __type
    atan2 ( _Tp __y, _Up __x )
    {
      typedef typename __gnu_cxx :: __promote_2 < _Tp, _Up > :: __type __type;
      return atan2 ( __type ( __y ), __type ( __x ) );
    }
# 175
using ::ceil;
# 178
inline float ceil(float __x) 
# 179
{ return __builtin_ceilf(__x); } 
# 182
inline long double ceil(long double __x) 
# 183
{ return __builtin_ceill(__x); } 
# 185
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    ceil ( _Tp __x )
    { return __builtin_ceil ( __x ); }
# 191
using ::cos;
# 194
inline float cos(float __x) 
# 195
{ return __builtin_cosf(__x); } 
# 198
inline long double cos(long double __x) 
# 199
{ return __builtin_cosl(__x); } 
# 201
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    cos ( _Tp __x )
    { return __builtin_cos ( __x ); }
# 207
using ::cosh;
# 210
inline float cosh(float __x) 
# 211
{ return __builtin_coshf(__x); } 
# 214
inline long double cosh(long double __x) 
# 215
{ return __builtin_coshl(__x); } 
# 217
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    cosh ( _Tp __x )
    { return __builtin_cosh ( __x ); }
# 223
using ::exp;
# 226
inline float exp(float __x) 
# 227
{ return __builtin_expf(__x); } 
# 230
inline long double exp(long double __x) 
# 231
{ return __builtin_expl(__x); } 
# 233
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    exp ( _Tp __x )
    { return __builtin_exp ( __x ); }
# 239
using ::fabs;
# 242
inline float fabs(float __x) 
# 243
{ return __builtin_fabsf(__x); } 
# 246
inline long double fabs(long double __x) 
# 247
{ return __builtin_fabsl(__x); } 
# 249
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    fabs ( _Tp __x )
    { return __builtin_fabs ( __x ); }
# 255
using ::floor;
# 258
inline float floor(float __x) 
# 259
{ return __builtin_floorf(__x); } 
# 262
inline long double floor(long double __x) 
# 263
{ return __builtin_floorl(__x); } 
# 265
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    floor ( _Tp __x )
    { return __builtin_floor ( __x ); }
# 271
using ::fmod;
# 274
inline float fmod(float __x, float __y) 
# 275
{ return __builtin_fmodf(__x, __y); } 
# 278
inline long double fmod(long double __x, long double __y) 
# 279
{ return __builtin_fmodl(__x, __y); } 
# 281
using ::frexp;
# 284
inline float frexp(float __x, int *__exp) 
# 285
{ return __builtin_frexpf(__x, __exp); } 
# 288
inline long double frexp(long double __x, int *__exp) 
# 289
{ return __builtin_frexpl(__x, __exp); } 
# 291
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    frexp ( _Tp __x, int * __exp )
    { return __builtin_frexp ( __x, __exp ); }
# 297
using ::ldexp;
# 300
inline float ldexp(float __x, int __exp) 
# 301
{ return __builtin_ldexpf(__x, __exp); } 
# 304
inline long double ldexp(long double __x, int __exp) 
# 305
{ return __builtin_ldexpl(__x, __exp); } 
# 307
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
  ldexp ( _Tp __x, int __exp )
  { return __builtin_ldexp ( __x, __exp ); }
# 313
using ::log;
# 316
inline float log(float __x) 
# 317
{ return __builtin_logf(__x); } 
# 320
inline long double log(long double __x) 
# 321
{ return __builtin_logl(__x); } 
# 323
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    log ( _Tp __x )
    { return __builtin_log ( __x ); }
# 329
using ::log10;
# 332
inline float log10(float __x) 
# 333
{ return __builtin_log10f(__x); } 
# 336
inline long double log10(long double __x) 
# 337
{ return __builtin_log10l(__x); } 
# 339
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    log10 ( _Tp __x )
    { return __builtin_log10 ( __x ); }
# 345
using ::modf;
# 348
inline float modf(float __x, float *__iptr) 
# 349
{ return __builtin_modff(__x, __iptr); } 
# 352
inline long double modf(long double __x, long double *__iptr) 
# 353
{ return __builtin_modfl(__x, __iptr); } 
# 355
using ::pow;
# 358
inline float pow(float __x, float __y) 
# 359
{ return __builtin_powf(__x, __y); } 
# 362
inline long double pow(long double __x, long double __y) 
# 363
{ return __builtin_powl(__x, __y); } 
# 369
inline double pow(double __x, int __i) 
# 370
{ return __builtin_powi(__x, __i); } 
# 373
inline float pow(float __x, int __n) 
# 374
{ return __builtin_powif(__x, __n); } 
# 377
inline long double pow(long double __x, int __n) 
# 378
{ return __builtin_powil(__x, __n); } 
# 381
template < typename _Tp, typename _Up >
    inline
    typename __gnu_cxx :: __promote_2 <
    typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value
        && __is_arithmetic < _Up > :: __value,
        _Tp > :: __type, _Up > :: __type
    pow ( _Tp __x, _Up __y )
    {
      typedef typename __gnu_cxx :: __promote_2 < _Tp, _Up > :: __type __type;
      return pow ( __type ( __x ), __type ( __y ) );
    }
# 393
using ::sin;
# 396
inline float sin(float __x) 
# 397
{ return __builtin_sinf(__x); } 
# 400
inline long double sin(long double __x) 
# 401
{ return __builtin_sinl(__x); } 
# 403
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    sin ( _Tp __x )
    { return __builtin_sin ( __x ); }
# 409
using ::sinh;
# 412
inline float sinh(float __x) 
# 413
{ return __builtin_sinhf(__x); } 
# 416
inline long double sinh(long double __x) 
# 417
{ return __builtin_sinhl(__x); } 
# 419
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    sinh ( _Tp __x )
    { return __builtin_sinh ( __x ); }
# 425
using ::sqrt;
# 428
inline float sqrt(float __x) 
# 429
{ return __builtin_sqrtf(__x); } 
# 432
inline long double sqrt(long double __x) 
# 433
{ return __builtin_sqrtl(__x); } 
# 435
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    sqrt ( _Tp __x )
    { return __builtin_sqrt ( __x ); }
# 441
using ::tan;
# 444
inline float tan(float __x) 
# 445
{ return __builtin_tanf(__x); } 
# 448
inline long double tan(long double __x) 
# 449
{ return __builtin_tanl(__x); } 
# 451
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    tan ( _Tp __x )
    { return __builtin_tan ( __x ); }
# 457
using ::tanh;
# 460
inline float tanh(float __x) 
# 461
{ return __builtin_tanhf(__x); } 
# 464
inline long double tanh(long double __x) 
# 465
{ return __builtin_tanhl(__x); } 
# 467
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_integer < _Tp > :: __value,
        double > :: __type
    tanh ( _Tp __x )
    { return __builtin_tanh ( __x ); }
# 473
}
# 492 "/usr/include/c++/4.4/cmath" 3
namespace std __attribute__((visibility("default"))) { 
# 494
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    fpclassify ( _Tp __f )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_fpclassify ( FP_NAN, FP_INFINITE, FP_NORMAL,
      FP_SUBNORMAL, FP_ZERO, __type ( __f ) );
    }
# 504
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isfinite ( _Tp __f )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isfinite ( __type ( __f ) );
    }
# 513
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isinf ( _Tp __f )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isinf ( __type ( __f ) );
    }
# 522
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isnan ( _Tp __f )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isnan ( __type ( __f ) );
    }
# 531
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isnormal ( _Tp __f )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isnormal ( __type ( __f ) );
    }
# 540
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    signbit ( _Tp __f )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_signbit ( __type ( __f ) );
    }
# 549
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isgreater ( _Tp __f1, _Tp __f2 )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isgreater ( __type ( __f1 ), __type ( __f2 ) );
    }
# 558
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isgreaterequal ( _Tp __f1, _Tp __f2 )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isgreaterequal ( __type ( __f1 ), __type ( __f2 ) );
    }
# 567
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isless ( _Tp __f1, _Tp __f2 )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isless ( __type ( __f1 ), __type ( __f2 ) );
    }
# 576
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    islessequal ( _Tp __f1, _Tp __f2 )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_islessequal ( __type ( __f1 ), __type ( __f2 ) );
    }
# 585
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    islessgreater ( _Tp __f1, _Tp __f2 )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_islessgreater ( __type ( __f1 ), __type ( __f2 ) );
    }
# 594
template < typename _Tp >
    inline typename __gnu_cxx :: __enable_if < __is_arithmetic < _Tp > :: __value,
        int > :: __type
    isunordered ( _Tp __f1, _Tp __f2 )
    {
      typedef typename __gnu_cxx :: __promote < _Tp > :: __type __type;
      return __builtin_isunordered ( __type ( __f1 ), __type ( __f2 ) );
    }
# 603
}
# 35 "/usr/include/c++/4.4/bits/cmath.tcc" 3
namespace std __attribute__((visibility("default"))) { 
# 37
template < typename _Tp >
    inline _Tp
    __cmath_power ( _Tp __x, unsigned int __n )
    {
      _Tp __y = __n % 2 ? __x : _Tp ( 1 );

      while ( __n >>= 1 )
        {
          __x = __x * __x;
          if ( __n % 2 )
            __y = __y * __x;
        }

      return __y;
    }
# 53
}
# 49 "/usr/include/c++/4.4/cstddef" 3
namespace std __attribute__((visibility("default"))) { 
# 51
using ::ptrdiff_t;
# 52
using ::size_t;
# 54
}
# 100 "/usr/include/c++/4.4/cstdlib" 3
namespace std __attribute__((visibility("default"))) { 
# 102
using ::div_t;
# 103
using ::ldiv_t;
# 105
using ::abort;
# 106
using ::abs;
# 107
using ::atexit;
# 108
using ::atof;
# 109
using ::atoi;
# 110
using ::atol;
# 111
using ::bsearch;
# 112
using ::calloc;
# 113
using ::div;
# 114
using ::exit;
# 115
using ::free;
# 116
using ::getenv;
# 117
using ::labs;
# 118
using ::ldiv;
# 119
using ::malloc;
# 121
using ::mblen;
# 122
using ::mbstowcs;
# 123
using ::mbtowc;
# 125
using ::qsort;
# 126
using ::rand;
# 127
using ::realloc;
# 128
using ::srand;
# 129
using ::strtod;
# 130
using ::strtol;
# 131
using ::strtoul;
# 132
using ::system;
# 134
using ::wcstombs;
# 135
using ::wctomb;
# 139
inline long abs(long __i) { return labs(__i); } 
# 142
inline ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } 
# 144
}
# 157 "/usr/include/c++/4.4/cstdlib" 3
namespace __gnu_cxx __attribute__((visibility("default"))) { 
# 160
using ::lldiv_t;
# 166
using ::_Exit;
# 170
inline long long abs(long long __x) { return (__x >= (0)) ? __x : (-__x); } 
# 173
using ::llabs;
# 176
inline lldiv_t div(long long __n, long long __d) 
# 177
{ lldiv_t __q; (__q.quot) = (__n / __d); (__q.rem) = (__n % __d); return __q; } 
# 179
using ::lldiv;
# 190 "/usr/include/c++/4.4/cstdlib" 3
using ::atoll;
# 191
using ::strtoll;
# 192
using ::strtoull;
# 194
using ::strtof;
# 195
using ::strtold;
# 197
}
# 199
namespace std __attribute__((visibility("default"))) { 
# 202
using __gnu_cxx::lldiv_t;
# 204
using __gnu_cxx::_Exit;
# 205
using __gnu_cxx::abs;
# 207
using __gnu_cxx::llabs;
# 208
using __gnu_cxx::div;
# 209
using __gnu_cxx::lldiv;
# 211
using __gnu_cxx::atoll;
# 212
using __gnu_cxx::strtof;
# 213
using __gnu_cxx::strtoll;
# 214
using __gnu_cxx::strtoull;
# 215
using __gnu_cxx::strtold;
# 217
}
# 496 "/opt/cuda/bin/../include/math_functions.h"
namespace __gnu_cxx { 
# 498
extern inline long long abs(long long) __attribute__((visibility("default"))); 
# 499
}
# 501
namespace std { 
# 503
template<class T> extern inline T __pow_helper(T, int); 
# 504
template<class T> extern inline T __cmath_power(T, unsigned); 
# 505
}
# 507
using std::abs;
# 508
using std::fabs;
# 509
using std::ceil;
# 510
using std::floor;
# 511
using std::sqrt;
# 512
using std::pow;
# 513
using std::log;
# 514
using std::log10;
# 515
using std::fmod;
# 516
using std::modf;
# 517
using std::exp;
# 518
using std::frexp;
# 519
using std::ldexp;
# 520
using std::asin;
# 521
using std::sin;
# 522
using std::sinh;
# 523
using std::acos;
# 524
using std::cos;
# 525
using std::cosh;
# 526
using std::atan;
# 527
using std::atan2;
# 528
using std::tan;
# 529
using std::tanh;
# 583 "/opt/cuda/bin/../include/math_functions.h"
namespace std { 
# 586
extern inline long abs(long) __attribute__((visibility("default"))); 
# 587
extern inline float abs(float) __attribute__((visibility("default"))); 
# 588
extern inline double abs(double) __attribute__((visibility("default"))); 
# 589
extern inline float fabs(float) __attribute__((visibility("default"))); 
# 590
extern inline float ceil(float) __attribute__((visibility("default"))); 
# 591
extern inline float floor(float) __attribute__((visibility("default"))); 
# 592
extern inline float sqrt(float) __attribute__((visibility("default"))); 
# 593
extern inline float pow(float, float) __attribute__((visibility("default"))); 
# 594
extern inline float pow(float, int) __attribute__((visibility("default"))); 
# 595
extern inline double pow(double, int) __attribute__((visibility("default"))); 
# 596
extern inline float log(float) __attribute__((visibility("default"))); 
# 597
extern inline float log10(float) __attribute__((visibility("default"))); 
# 598
extern inline float fmod(float, float) __attribute__((visibility("default"))); 
# 599
extern inline float modf(float, float *) __attribute__((visibility("default"))); 
# 600
extern inline float exp(float) __attribute__((visibility("default"))); 
# 601
extern inline float frexp(float, int *) __attribute__((visibility("default"))); 
# 602
extern inline float ldexp(float, int) __attribute__((visibility("default"))); 
# 603
extern inline float asin(float) __attribute__((visibility("default"))); 
# 604
extern inline float sin(float) __attribute__((visibility("default"))); 
# 605
extern inline float sinh(float) __attribute__((visibility("default"))); 
# 606
extern inline float acos(float) __attribute__((visibility("default"))); 
# 607
extern inline float cos(float) __attribute__((visibility("default"))); 
# 608
extern inline float cosh(float) __attribute__((visibility("default"))); 
# 609
extern inline float atan(float) __attribute__((visibility("default"))); 
# 610
extern inline float atan2(float, float) __attribute__((visibility("default"))); 
# 611
extern inline float tan(float) __attribute__((visibility("default"))); 
# 612
extern inline float tanh(float) __attribute__((visibility("default"))); 
# 615
}
# 618
static inline float logb(float a) 
# 619
{ 
# 620
return logbf(a); 
# 621
} 
# 623
static inline int ilogb(float a) 
# 624
{ 
# 625
return ilogbf(a); 
# 626
} 
# 628
static inline float scalbn(float a, int b) 
# 629
{ 
# 630
return scalbnf(a, b); 
# 631
} 
# 633
static inline float scalbln(float a, long b) 
# 634
{ 
# 635
return scalblnf(a, b); 
# 636
} 
# 638
static inline float exp2(float a) 
# 639
{ 
# 640
return exp2f(a); 
# 641
} 
# 643
static inline float exp10(float a) 
# 644
{ 
# 645
return exp10f(a); 
# 646
} 
# 648
static inline float expm1(float a) 
# 649
{ 
# 650
return expm1f(a); 
# 651
} 
# 653
static inline float log2(float a) 
# 654
{ 
# 655
return log2f(a); 
# 656
} 
# 658
static inline float log1p(float a) 
# 659
{ 
# 660
return log1pf(a); 
# 661
} 
# 663
static inline float rsqrt(float a) 
# 664
{ 
# 665
return rsqrtf(a); 
# 666
} 
# 668
static inline float acosh(float a) 
# 669
{ 
# 670
return acoshf(a); 
# 671
} 
# 673
static inline float asinh(float a) 
# 674
{ 
# 675
return asinhf(a); 
# 676
} 
# 678
static inline float atanh(float a) 
# 679
{ 
# 680
return atanhf(a); 
# 681
} 
# 683
static inline float hypot(float a, float b) 
# 684
{ 
# 685
return hypotf(a, b); 
# 686
} 
# 688
static inline float cbrt(float a) 
# 689
{ 
# 690
return cbrtf(a); 
# 691
} 
# 693
static inline float rcbrt(float a) 
# 694
{ 
# 695
return rcbrtf(a); 
# 696
} 
# 698
static inline float sinpi(float a) 
# 699
{ 
# 700
return sinpif(a); 
# 701
} 
# 703
static inline void sincos(float a, float *sptr, float *cptr) 
# 704
{ 
# 705
sincosf(a, sptr, cptr); 
# 706
} 
# 708
static inline float erf(float a) 
# 709
{ 
# 710
return erff(a); 
# 711
} 
# 713
static inline float erfinv(float a) 
# 714
{ 
# 715
return erfinvf(a); 
# 716
} 
# 718
static inline float erfc(float a) 
# 719
{ 
# 720
return erfcf(a); 
# 721
} 
# 723
static inline float erfcinv(float a) 
# 724
{ 
# 725
return erfcinvf(a); 
# 726
} 
# 728
static inline float lgamma(float a) 
# 729
{ 
# 730
return lgammaf(a); 
# 731
} 
# 733
static inline float tgamma(float a) 
# 734
{ 
# 735
return tgammaf(a); 
# 736
} 
# 738
static inline float copysign(float a, float b) 
# 739
{ 
# 740
return copysignf(a, b); 
# 741
} 
# 743
static inline double copysign(double a, float b) 
# 744
{ 
# 745
return copysign(a, (double)b); 
# 746
} 
# 748
static inline float copysign(float a, double b) 
# 749
{ 
# 750
return copysignf(a, (float)b); 
# 751
} 
# 753
static inline float nextafter(float a, float b) 
# 754
{ 
# 755
return nextafterf(a, b); 
# 756
} 
# 758
static inline float remainder(float a, float b) 
# 759
{ 
# 760
return remainderf(a, b); 
# 761
} 
# 763
static inline float remquo(float a, float b, int *quo) 
# 764
{ 
# 765
return remquof(a, b, quo); 
# 766
} 
# 768
static inline float round(float a) 
# 769
{ 
# 770
return roundf(a); 
# 771
} 
# 773
static inline long lround(float a) 
# 774
{ 
# 775
return lroundf(a); 
# 776
} 
# 778
static inline long long llround(float a) 
# 779
{ 
# 780
return llroundf(a); 
# 781
} 
# 783
static inline float trunc(float a) 
# 784
{ 
# 785
return truncf(a); 
# 786
} 
# 788
static inline float rint(float a) 
# 789
{ 
# 790
return rintf(a); 
# 791
} 
# 793
static inline long lrint(float a) 
# 794
{ 
# 795
return lrintf(a); 
# 796
} 
# 798
static inline long long llrint(float a) 
# 799
{ 
# 800
return llrintf(a); 
# 801
} 
# 803
static inline float nearbyint(float a) 
# 804
{ 
# 805
return nearbyintf(a); 
# 806
} 
# 808
static inline float fdim(float a, float b) 
# 809
{ 
# 810
return fdimf(a, b); 
# 811
} 
# 813
static inline float fma(float a, float b, float c) 
# 814
{ 
# 815
return fmaf(a, b, c); 
# 816
} 
# 818
static inline float fmax(float a, float b) 
# 819
{ 
# 820
return fmaxf(a, b); 
# 821
} 
# 823
static inline float fmin(float a, float b) 
# 824
{ 
# 825
return fminf(a, b); 
# 826
} 
# 828
static inline unsigned min(unsigned a, unsigned b) 
# 829
{ 
# 830
return umin(a, b); 
# 831
} 
# 833
static inline unsigned min(int a, unsigned b) 
# 834
{ 
# 835
return umin((unsigned)a, b); 
# 836
} 
# 838
static inline unsigned min(unsigned a, int b) 
# 839
{ 
# 840
return umin(a, (unsigned)b); 
# 841
} 
# 843
static inline long long min(long long a, long long b) 
# 844
{ 
# 845
return llmin(a, b); 
# 846
} 
# 848
static inline unsigned long long min(unsigned long long a, unsigned long long b) 
# 849
{ 
# 850
return ullmin(a, b); 
# 851
} 
# 853
static inline unsigned long long min(long long a, unsigned long long b) 
# 854
{ 
# 855
return ullmin((unsigned long long)a, b); 
# 856
} 
# 858
static inline unsigned long long min(unsigned long long a, long long b) 
# 859
{ 
# 860
return ullmin(a, (unsigned long long)b); 
# 861
} 
# 863
static inline float min(float a, float b) 
# 864
{ 
# 865
return fminf(a, b); 
# 866
} 
# 868
static inline double min(double a, double b) 
# 869
{ 
# 870
return fmin(a, b); 
# 871
} 
# 873
static inline double min(float a, double b) 
# 874
{ 
# 875
return fmin((double)a, b); 
# 876
} 
# 878
static inline double min(double a, float b) 
# 879
{ 
# 880
return fmin(a, (double)b); 
# 881
} 
# 883
static inline unsigned max(unsigned a, unsigned b) 
# 884
{ 
# 885
return umax(a, b); 
# 886
} 
# 888
static inline unsigned max(int a, unsigned b) 
# 889
{ 
# 890
return umax((unsigned)a, b); 
# 891
} 
# 893
static inline unsigned max(unsigned a, int b) 
# 894
{ 
# 895
return umax(a, (unsigned)b); 
# 896
} 
# 898
static inline long long max(long long a, long long b) 
# 899
{ 
# 900
return llmax(a, b); 
# 901
} 
# 903
static inline unsigned long long max(unsigned long long a, unsigned long long b) 
# 904
{ 
# 905
return ullmax(a, b); 
# 906
} 
# 908
static inline unsigned long long max(long long a, unsigned long long b) 
# 909
{ 
# 910
return ullmax((unsigned long long)a, b); 
# 911
} 
# 913
static inline unsigned long long max(unsigned long long a, long long b) 
# 914
{ 
# 915
return ullmax(a, (unsigned long long)b); 
# 916
} 
# 918
static inline float max(float a, float b) 
# 919
{ 
# 920
return fmaxf(a, b); 
# 921
} 
# 923
static inline double max(double a, double b) 
# 924
{ 
# 925
return fmax(a, b); 
# 926
} 
# 928
static inline double max(float a, double b) 
# 929
{ 
# 930
return fmax((double)a, b); 
# 931
} 
# 933
static inline double max(double a, float b) 
# 934
{ 
# 935
return fmax(a, (double)b); 
# 936
} 
# 59 "/opt/cuda/bin/../include/cuda_texture_types.h"
template<class T, int dim = 1, cudaTextureReadMode mode = cudaReadModeElementType> 
# 60
struct texture : public textureReference { 
# 62
texture(int norm = 0, cudaTextureFilterMode 
# 63
fMode = cudaFilterModePoint, cudaTextureAddressMode 
# 64
aMode = cudaAddressModeClamp) 
# 65
{ 
# 66
(normalized) = norm; 
# 67
(filterMode) = fMode; 
# 68
((addressMode)[0]) = aMode; 
# 69
((addressMode)[1]) = aMode; 
# 70
((addressMode)[2]) = aMode; 
# 71
(channelDesc) = cudaCreateChannelDesc< T> (); 
# 72
} 
# 74
texture(int norm, cudaTextureFilterMode 
# 75
fMode, cudaTextureAddressMode 
# 76
aMode, cudaChannelFormatDesc 
# 77
desc) 
# 78
{ 
# 79
(normalized) = norm; 
# 80
(filterMode) = fMode; 
# 81
((addressMode)[0]) = aMode; 
# 82
((addressMode)[1]) = aMode; 
# 83
((addressMode)[2]) = aMode; 
# 84
(channelDesc) = desc; 
# 85
} 
# 86
}; 
# 312 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline int mulhi(int a, int b)
# 313
{volatile int ___ = 1;
# 315
exit(___);}
#if 0
 
# 313
{ 
# 314
return __mulhi(a, b); 
# 315
} 
#endif
# 317 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned mulhi(unsigned a, unsigned b)
# 318
{volatile int ___ = 1;
# 320
exit(___);}
#if 0
 
# 318
{ 
# 319
return __umulhi(a, b); 
# 320
} 
#endif
# 322 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned mulhi(int a, unsigned b)
# 323
{volatile int ___ = 1;
# 325
exit(___);}
#if 0
 
# 323
{ 
# 324
return __umulhi((unsigned)a, b); 
# 325
} 
#endif
# 327 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned mulhi(unsigned a, int b)
# 328
{volatile int ___ = 1;
# 330
exit(___);}
#if 0
 
# 328
{ 
# 329
return __umulhi(a, (unsigned)b); 
# 330
} 
#endif
# 332 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline long long mul64hi(long long a, long long b)
# 333
{volatile int ___ = 1;
# 335
exit(___);}
#if 0
 
# 333
{ 
# 334
return __mul64hi(a, b); 
# 335
} 
#endif
# 337 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long mul64hi(unsigned long long a, unsigned long long b)
# 338
{volatile int ___ = 1;
# 340
exit(___);}
#if 0
 
# 338
{ 
# 339
return __umul64hi(a, b); 
# 340
} 
#endif
# 342 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long mul64hi(long long a, unsigned long long b)
# 343
{volatile int ___ = 1;
# 345
exit(___);}
#if 0
 
# 343
{ 
# 344
return __umul64hi((unsigned long long)a, b); 
# 345
} 
#endif
# 347 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long mul64hi(unsigned long long a, long long b)
# 348
{volatile int ___ = 1;
# 350
exit(___);}
#if 0
 
# 348
{ 
# 349
return __umul64hi(a, (unsigned long long)b); 
# 350
} 
#endif
# 352 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline int float_as_int(float a)
# 353
{volatile int ___ = 1;
# 355
exit(___);}
#if 0
 
# 353
{ 
# 354
return __float_as_int(a); 
# 355
} 
#endif
# 357 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline float int_as_float(int a)
# 358
{volatile int ___ = 1;
# 360
exit(___);}
#if 0
 
# 358
{ 
# 359
return __int_as_float(a); 
# 360
} 
#endif
# 362 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline float saturate(float a)
# 363
{volatile int ___ = 1;
# 365
exit(___);}
#if 0
 
# 363
{ 
# 364
return __saturatef(a); 
# 365
} 
#endif
# 367 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline int mul24(int a, int b)
# 368
{volatile int ___ = 1;
# 370
exit(___);}
#if 0
 
# 368
{ 
# 369
return __mul24(a, b); 
# 370
} 
#endif
# 372 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned umul24(unsigned a, unsigned b)
# 373
{volatile int ___ = 1;
# 375
exit(___);}
#if 0
 
# 373
{ 
# 374
return __umul24(a, b); 
# 375
} 
#endif
# 377 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline void trap()
# 378
{volatile int ___ = 1;
# 380
exit(___);}
#if 0
 
# 378
{ 
# 379
__trap(); 
# 380
} 
#endif
# 382 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline void brkpt(int c)
# 383
{volatile int ___ = 1;
# 385
exit(___);}
#if 0
 
# 383
{ 
# 384
__brkpt(c); 
# 385
} 
#endif
# 387 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline void syncthreads()
# 388
{volatile int ___ = 1;
# 390
exit(___);}
#if 0
 
# 388
{ 
# 389
__syncthreads(); 
# 390
} 
#endif
# 392 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline void prof_trigger(int e)
# 393
{volatile int ___ = 1;
# 410
exit(___);}
#if 0
 
# 393
{ 
# 394
if (e == 0) { __prof_trigger(0); } else { 
# 395
if (e == 1) { __prof_trigger(1); } else { 
# 396
if (e == 2) { __prof_trigger(2); } else { 
# 397
if (e == 3) { __prof_trigger(3); } else { 
# 398
if (e == 4) { __prof_trigger(4); } else { 
# 399
if (e == 5) { __prof_trigger(5); } else { 
# 400
if (e == 6) { __prof_trigger(6); } else { 
# 401
if (e == 7) { __prof_trigger(7); } else { 
# 402
if (e == 8) { __prof_trigger(8); } else { 
# 403
if (e == 9) { __prof_trigger(9); } else { 
# 404
if (e == 10) { __prof_trigger(10); } else { 
# 405
if (e == 11) { __prof_trigger(11); } else { 
# 406
if (e == 12) { __prof_trigger(12); } else { 
# 407
if (e == 13) { __prof_trigger(13); } else { 
# 408
if (e == 14) { __prof_trigger(14); } else { 
# 409
if (e == 15) { __prof_trigger(15); }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  }  
# 410
} 
#endif
# 412 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline void threadfence(bool global = true)
# 413
{volatile int ___ = 1;
# 415
exit(___);}
#if 0
 
# 413
{ 
# 414
global ? __threadfence() : __threadfence_block(); 
# 415
} 
#endif
# 417 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline int float2int(float a, cudaRoundMode mode = cudaRoundZero)
# 418
{volatile int ___ = 1;
# 423
exit(___);}
#if 0
 
# 418
{ 
# 419
return (mode == (cudaRoundNearest)) ? __float2int_rn(a) : ((mode == (cudaRoundPosInf)) ? __float2int_ru(a) : ((mode == (cudaRoundMinInf)) ? __float2int_rd(a) : __float2int_rz(a))); 
# 423
} 
#endif
# 425 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline unsigned float2uint(float a, cudaRoundMode mode = cudaRoundZero)
# 426
{volatile int ___ = 1;
# 431
exit(___);}
#if 0
 
# 426
{ 
# 427
return (mode == (cudaRoundNearest)) ? __float2uint_rn(a) : ((mode == (cudaRoundPosInf)) ? __float2uint_ru(a) : ((mode == (cudaRoundMinInf)) ? __float2uint_rd(a) : __float2uint_rz(a))); 
# 431
} 
#endif
# 433 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline float int2float(int a, cudaRoundMode mode = cudaRoundNearest)
# 434
{volatile int ___ = 1;
# 439
exit(___);}
#if 0
 
# 434
{ 
# 435
return (mode == (cudaRoundZero)) ? __int2float_rz(a) : ((mode == (cudaRoundPosInf)) ? __int2float_ru(a) : ((mode == (cudaRoundMinInf)) ? __int2float_rd(a) : __int2float_rn(a))); 
# 439
} 
#endif
# 441 "/opt/cuda/bin/../include/device_functions.h"
__loc_sc__(__device__,,static ) inline float uint2float(unsigned a, cudaRoundMode mode = cudaRoundNearest)
# 442
{volatile int ___ = 1;
# 447
exit(___);}
#if 0
 
# 442
{ 
# 443
return (mode == (cudaRoundZero)) ? __uint2float_rz(a) : ((mode == (cudaRoundPosInf)) ? __uint2float_ru(a) : ((mode == (cudaRoundMinInf)) ? __uint2float_rd(a) : __uint2float_rn(a))); 
# 447
} 
#endif
# 101 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicAdd(int *address, int val)
# 102
{volatile int ___ = 1;
# 104
exit(___);}
#if 0
 
# 102
{ 
# 103
return __iAtomicAdd(address, val); 
# 104
} 
#endif
# 106 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicAdd(unsigned *address, unsigned val)
# 107
{volatile int ___ = 1;
# 109
exit(___);}
#if 0
 
# 107
{ 
# 108
return __uAtomicAdd(address, val); 
# 109
} 
#endif
# 111 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicSub(int *address, int val)
# 112
{volatile int ___ = 1;
# 114
exit(___);}
#if 0
 
# 112
{ 
# 113
return __iAtomicAdd(address, (unsigned)(-((int)val))); 
# 114
} 
#endif
# 116 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicSub(unsigned *address, unsigned val)
# 117
{volatile int ___ = 1;
# 119
exit(___);}
#if 0
 
# 117
{ 
# 118
return __uAtomicAdd(address, (unsigned)(-((int)val))); 
# 119
} 
#endif
# 121 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicExch(int *address, int val)
# 122
{volatile int ___ = 1;
# 124
exit(___);}
#if 0
 
# 122
{ 
# 123
return __iAtomicExch(address, val); 
# 124
} 
#endif
# 126 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicExch(unsigned *address, unsigned val)
# 127
{volatile int ___ = 1;
# 129
exit(___);}
#if 0
 
# 127
{ 
# 128
return __uAtomicExch(address, val); 
# 129
} 
#endif
# 131 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline float atomicExch(float *address, float val)
# 132
{volatile int ___ = 1;
# 134
exit(___);}
#if 0
 
# 132
{ 
# 133
return __fAtomicExch(address, val); 
# 134
} 
#endif
# 136 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicMin(int *address, int val)
# 137
{volatile int ___ = 1;
# 139
exit(___);}
#if 0
 
# 137
{ 
# 138
return __iAtomicMin(address, val); 
# 139
} 
#endif
# 141 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicMin(unsigned *address, unsigned val)
# 142
{volatile int ___ = 1;
# 144
exit(___);}
#if 0
 
# 142
{ 
# 143
return __uAtomicMin(address, val); 
# 144
} 
#endif
# 146 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicMax(int *address, int val)
# 147
{volatile int ___ = 1;
# 149
exit(___);}
#if 0
 
# 147
{ 
# 148
return __iAtomicMax(address, val); 
# 149
} 
#endif
# 151 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicMax(unsigned *address, unsigned val)
# 152
{volatile int ___ = 1;
# 154
exit(___);}
#if 0
 
# 152
{ 
# 153
return __uAtomicMax(address, val); 
# 154
} 
#endif
# 156 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicInc(unsigned *address, unsigned val)
# 157
{volatile int ___ = 1;
# 159
exit(___);}
#if 0
 
# 157
{ 
# 158
return __uAtomicInc(address, val); 
# 159
} 
#endif
# 161 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicDec(unsigned *address, unsigned val)
# 162
{volatile int ___ = 1;
# 164
exit(___);}
#if 0
 
# 162
{ 
# 163
return __uAtomicDec(address, val); 
# 164
} 
#endif
# 166 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicAnd(int *address, int val)
# 167
{volatile int ___ = 1;
# 169
exit(___);}
#if 0
 
# 167
{ 
# 168
return __iAtomicAnd(address, val); 
# 169
} 
#endif
# 171 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicAnd(unsigned *address, unsigned val)
# 172
{volatile int ___ = 1;
# 174
exit(___);}
#if 0
 
# 172
{ 
# 173
return __uAtomicAnd(address, val); 
# 174
} 
#endif
# 176 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicOr(int *address, int val)
# 177
{volatile int ___ = 1;
# 179
exit(___);}
#if 0
 
# 177
{ 
# 178
return __iAtomicOr(address, val); 
# 179
} 
#endif
# 181 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicOr(unsigned *address, unsigned val)
# 182
{volatile int ___ = 1;
# 184
exit(___);}
#if 0
 
# 182
{ 
# 183
return __uAtomicOr(address, val); 
# 184
} 
#endif
# 186 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicXor(int *address, int val)
# 187
{volatile int ___ = 1;
# 189
exit(___);}
#if 0
 
# 187
{ 
# 188
return __iAtomicXor(address, val); 
# 189
} 
#endif
# 191 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicXor(unsigned *address, unsigned val)
# 192
{volatile int ___ = 1;
# 194
exit(___);}
#if 0
 
# 192
{ 
# 193
return __uAtomicXor(address, val); 
# 194
} 
#endif
# 196 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline int atomicCAS(int *address, int compare, int val)
# 197
{volatile int ___ = 1;
# 199
exit(___);}
#if 0
 
# 197
{ 
# 198
return __iAtomicCAS(address, compare, val); 
# 199
} 
#endif
# 201 "/opt/cuda/bin/../include/sm_11_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned atomicCAS(unsigned *address, unsigned compare, unsigned val)
# 202
{volatile int ___ = 1;
# 204
exit(___);}
#if 0
 
# 202
{ 
# 203
return __uAtomicCAS(address, compare, val); 
# 204
} 
#endif
# 74 "/opt/cuda/bin/../include/sm_12_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long atomicAdd(unsigned long long *address, unsigned long long val)
# 75
{volatile int ___ = 1;
# 77
exit(___);}
#if 0
 
# 75
{ 
# 76
return __ullAtomicAdd(address, val); 
# 77
} 
#endif
# 79 "/opt/cuda/bin/../include/sm_12_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long atomicExch(unsigned long long *address, unsigned long long val)
# 80
{volatile int ___ = 1;
# 82
exit(___);}
#if 0
 
# 80
{ 
# 81
return __ullAtomicExch(address, val); 
# 82
} 
#endif
# 84 "/opt/cuda/bin/../include/sm_12_atomic_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long atomicCAS(unsigned long long *address, unsigned long long compare, unsigned long long val)
# 85
{volatile int ___ = 1;
# 87
exit(___);}
#if 0
 
# 85
{ 
# 86
return __ullAtomicCAS(address, compare, val); 
# 87
} 
#endif
# 89 "/opt/cuda/bin/../include/sm_12_atomic_functions.h"
__loc_sc__(__device__,,static ) inline bool any(bool cond)
# 90
{volatile int ___ = 1;
# 92
exit(___);}
#if 0
 
# 90
{ 
# 91
return (bool)__any((int)cond); 
# 92
} 
#endif
# 94 "/opt/cuda/bin/../include/sm_12_atomic_functions.h"
__loc_sc__(__device__,,static ) inline bool all(bool cond)
# 95
{volatile int ___ = 1;
# 97
exit(___);}
#if 0
 
# 95
{ 
# 96
return (bool)__all((int)cond); 
# 97
} 
#endif
# 169 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double fma(double a, double b, double c, cudaRoundMode mode)
# 170
{volatile int ___ = 1;
# 175
exit(___);}
#if 0
 
# 170
{ 
# 171
return (mode == (cudaRoundZero)) ? __fma_rz(a, b, c) : ((mode == (cudaRoundPosInf)) ? __fma_ru(a, b, c) : ((mode == (cudaRoundMinInf)) ? __fma_rd(a, b, c) : __fma_rn(a, b, c))); 
# 175
} 
#endif
# 177 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double dmul(double a, double b, cudaRoundMode mode = cudaRoundNearest)
# 178
{volatile int ___ = 1;
# 183
exit(___);}
#if 0
 
# 178
{ 
# 179
return (mode == (cudaRoundZero)) ? __dmul_rz(a, b) : ((mode == (cudaRoundPosInf)) ? __dmul_ru(a, b) : ((mode == (cudaRoundMinInf)) ? __dmul_rd(a, b) : __dmul_rn(a, b))); 
# 183
} 
#endif
# 185 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double dadd(double a, double b, cudaRoundMode mode = cudaRoundNearest)
# 186
{volatile int ___ = 1;
# 191
exit(___);}
#if 0
 
# 186
{ 
# 187
return (mode == (cudaRoundZero)) ? __dadd_rz(a, b) : ((mode == (cudaRoundPosInf)) ? __dadd_ru(a, b) : ((mode == (cudaRoundMinInf)) ? __dadd_rd(a, b) : __dadd_rn(a, b))); 
# 191
} 
#endif
# 193 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline int double2int(double a, cudaRoundMode mode = cudaRoundZero)
# 194
{volatile int ___ = 1;
# 199
exit(___);}
#if 0
 
# 194
{ 
# 195
return (mode == (cudaRoundNearest)) ? __double2int_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2int_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2int_rd(a) : __double2int_rz(a))); 
# 199
} 
#endif
# 201 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline unsigned double2uint(double a, cudaRoundMode mode = cudaRoundZero)
# 202
{volatile int ___ = 1;
# 207
exit(___);}
#if 0
 
# 202
{ 
# 203
return (mode == (cudaRoundNearest)) ? __double2uint_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2uint_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2uint_rd(a) : __double2uint_rz(a))); 
# 207
} 
#endif
# 209 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline long long double2ll(double a, cudaRoundMode mode = cudaRoundZero)
# 210
{volatile int ___ = 1;
# 215
exit(___);}
#if 0
 
# 210
{ 
# 211
return (mode == (cudaRoundNearest)) ? __double2ll_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2ll_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2ll_rd(a) : __double2ll_rz(a))); 
# 215
} 
#endif
# 217 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline unsigned long long double2ull(double a, cudaRoundMode mode = cudaRoundZero)
# 218
{volatile int ___ = 1;
# 223
exit(___);}
#if 0
 
# 218
{ 
# 219
return (mode == (cudaRoundNearest)) ? __double2ull_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2ull_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2ull_rd(a) : __double2ull_rz(a))); 
# 223
} 
#endif
# 225 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double ll2double(long long a, cudaRoundMode mode = cudaRoundNearest)
# 226
{volatile int ___ = 1;
# 231
exit(___);}
#if 0
 
# 226
{ 
# 227
return (mode == (cudaRoundZero)) ? __ll2double_rz(a) : ((mode == (cudaRoundPosInf)) ? __ll2double_ru(a) : ((mode == (cudaRoundMinInf)) ? __ll2double_rd(a) : __ll2double_rn(a))); 
# 231
} 
#endif
# 233 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double ull2double(unsigned long long a, cudaRoundMode mode = cudaRoundNearest)
# 234
{volatile int ___ = 1;
# 239
exit(___);}
#if 0
 
# 234
{ 
# 235
return (mode == (cudaRoundZero)) ? __ull2double_rz(a) : ((mode == (cudaRoundPosInf)) ? __ull2double_ru(a) : ((mode == (cudaRoundMinInf)) ? __ull2double_rd(a) : __ull2double_rn(a))); 
# 239
} 
#endif
# 241 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double int2double(int a, cudaRoundMode mode = cudaRoundNearest)
# 242
{volatile int ___ = 1;
# 244
exit(___);}
#if 0
 
# 242
{ 
# 243
return (double)a; 
# 244
} 
#endif
# 246 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double uint2double(unsigned a, cudaRoundMode mode = cudaRoundNearest)
# 247
{volatile int ___ = 1;
# 249
exit(___);}
#if 0
 
# 247
{ 
# 248
return (double)a; 
# 249
} 
#endif
# 251 "/opt/cuda/bin/../include/sm_13_double_functions.h"
__loc_sc__(__device__,,static ) inline double float2double(float a, cudaRoundMode mode = cudaRoundNearest)
# 252
{volatile int ___ = 1;
# 254
exit(___);}
#if 0
 
# 252
{ 
# 253
return (double)a; 
# 254
} 
#endif
# 65 "/opt/cuda/bin/../include/sm_20_atomic_functions.h"
__loc_sc__(__device__,,static ) inline float atomicAdd(float *address, float val)
# 66
{volatile int ___ = 1;
# 68
exit(___);}
#if 0
 
# 66
{ 
# 67
return __fAtomicAdd(address, val); 
# 68
} 
#endif
# 120 "/opt/cuda/bin/../include/sm_20_intrinsics.h"
__loc_sc__(__device__,,static ) inline unsigned ballot(bool pred)
# 121
{volatile int ___ = 1;
# 123
exit(___);}
#if 0
 
# 121
{ 
# 122
return __ballot((int)pred); 
# 123
} 
#endif
# 125 "/opt/cuda/bin/../include/sm_20_intrinsics.h"
__loc_sc__(__device__,,static ) inline int syncthreads_count(bool pred)
# 126
{volatile int ___ = 1;
# 128
exit(___);}
#if 0
 
# 126
{ 
# 127
return __syncthreads_count((int)pred); 
# 128
} 
#endif
# 130 "/opt/cuda/bin/../include/sm_20_intrinsics.h"
__loc_sc__(__device__,,static ) inline bool syncthreads_and(bool pred)
# 131
{volatile int ___ = 1;
# 133
exit(___);}
#if 0
 
# 131
{ 
# 132
return (bool)__syncthreads_and((int)pred); 
# 133
} 
#endif
# 135 "/opt/cuda/bin/../include/sm_20_intrinsics.h"
__loc_sc__(__device__,,static ) inline bool syncthreads_or(bool pred)
# 136
{volatile int ___ = 1;
# 138
exit(___);}
#if 0
 
# 136
{ 
# 137
return (bool)__syncthreads_or((int)pred); 
# 138
} 
#endif
# 60 "/opt/cuda/bin/../include/texture_fetch_functions.h"
template<class T, cudaTextureReadMode readMode> __loc_sc__(__device__,,extern ) uint4 __utexfetchi(texture< T, 1, readMode> , int4); 
# 62
template<class T, cudaTextureReadMode readMode> __loc_sc__(__device__,,extern ) int4 __itexfetchi(texture< T, 1, readMode> , int4); 
# 64
template<class T, cudaTextureReadMode readMode> __loc_sc__(__device__,,extern ) float4 __ftexfetchi(texture< T, 1, readMode> , int4); 
# 67
template<class T, int dim, cudaTextureReadMode readMode> __loc_sc__(__device__,,extern ) uint4 __utexfetch(texture< T, dim, readMode> , float4, int = dim); 
# 69
template<class T, int dim, cudaTextureReadMode readMode> __loc_sc__(__device__,,extern ) int4 __itexfetch(texture< T, dim, readMode> , float4, int = dim); 
# 71
template<class T, int dim, cudaTextureReadMode readMode> __loc_sc__(__device__,,extern ) float4 __ftexfetch(texture< T, dim, readMode> , float4, int = dim); 
# 79
__loc_sc__(__device__,,static ) inline char tex1Dfetch(texture< char, 1, cudaReadModeElementType>  t, int x)
# 80
{volatile int ___ = 1;
# 88
exit(___);}
#if 0
 
# 80
{ 
# 84
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 87
return (char)(v.x); 
# 88
} 
#endif
# 90 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline signed char tex1Dfetch(texture< signed char, 1, cudaReadModeElementType>  t, int x)
# 91
{volatile int ___ = 1;
# 95
exit(___);}
#if 0
 
# 91
{ 
# 92
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 94
return (signed char)(v.x); 
# 95
} 
#endif
# 97 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned char tex1Dfetch(texture< unsigned char, 1, cudaReadModeElementType>  t, int x)
# 98
{volatile int ___ = 1;
# 102
exit(___);}
#if 0
 
# 98
{ 
# 99
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 101
return (unsigned char)(v.x); 
# 102
} 
#endif
# 104 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char1 tex1Dfetch(texture< char1, 1, cudaReadModeElementType>  t, int x)
# 105
{volatile int ___ = 1;
# 109
exit(___);}
#if 0
 
# 105
{ 
# 106
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 108
return make_char1(v.x); 
# 109
} 
#endif
# 111 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar1 tex1Dfetch(texture< uchar1, 1, cudaReadModeElementType>  t, int x)
# 112
{volatile int ___ = 1;
# 116
exit(___);}
#if 0
 
# 112
{ 
# 113
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 115
return make_uchar1(v.x); 
# 116
} 
#endif
# 118 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char2 tex1Dfetch(texture< char2, 1, cudaReadModeElementType>  t, int x)
# 119
{volatile int ___ = 1;
# 123
exit(___);}
#if 0
 
# 119
{ 
# 120
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 122
return make_char2(v.x, v.y); 
# 123
} 
#endif
# 125 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar2 tex1Dfetch(texture< uchar2, 1, cudaReadModeElementType>  t, int x)
# 126
{volatile int ___ = 1;
# 130
exit(___);}
#if 0
 
# 126
{ 
# 127
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 129
return make_uchar2(v.x, v.y); 
# 130
} 
#endif
# 132 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char4 tex1Dfetch(texture< char4, 1, cudaReadModeElementType>  t, int x)
# 133
{volatile int ___ = 1;
# 137
exit(___);}
#if 0
 
# 133
{ 
# 134
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 136
return make_char4(v.x, v.y, v.z, v.w); 
# 137
} 
#endif
# 139 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar4 tex1Dfetch(texture< uchar4, 1, cudaReadModeElementType>  t, int x)
# 140
{volatile int ___ = 1;
# 144
exit(___);}
#if 0
 
# 140
{ 
# 141
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 143
return make_uchar4(v.x, v.y, v.z, v.w); 
# 144
} 
#endif
# 152 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short tex1Dfetch(texture< short, 1, cudaReadModeElementType>  t, int x)
# 153
{volatile int ___ = 1;
# 157
exit(___);}
#if 0
 
# 153
{ 
# 154
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 156
return (short)(v.x); 
# 157
} 
#endif
# 159 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned short tex1Dfetch(texture< unsigned short, 1, cudaReadModeElementType>  t, int x)
# 160
{volatile int ___ = 1;
# 164
exit(___);}
#if 0
 
# 160
{ 
# 161
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 163
return (unsigned short)(v.x); 
# 164
} 
#endif
# 166 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short1 tex1Dfetch(texture< short1, 1, cudaReadModeElementType>  t, int x)
# 167
{volatile int ___ = 1;
# 171
exit(___);}
#if 0
 
# 167
{ 
# 168
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 170
return make_short1(v.x); 
# 171
} 
#endif
# 173 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort1 tex1Dfetch(texture< ushort1, 1, cudaReadModeElementType>  t, int x)
# 174
{volatile int ___ = 1;
# 178
exit(___);}
#if 0
 
# 174
{ 
# 175
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 177
return make_ushort1(v.x); 
# 178
} 
#endif
# 180 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short2 tex1Dfetch(texture< short2, 1, cudaReadModeElementType>  t, int x)
# 181
{volatile int ___ = 1;
# 185
exit(___);}
#if 0
 
# 181
{ 
# 182
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 184
return make_short2(v.x, v.y); 
# 185
} 
#endif
# 187 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort2 tex1Dfetch(texture< ushort2, 1, cudaReadModeElementType>  t, int x)
# 188
{volatile int ___ = 1;
# 192
exit(___);}
#if 0
 
# 188
{ 
# 189
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 191
return make_ushort2(v.x, v.y); 
# 192
} 
#endif
# 194 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short4 tex1Dfetch(texture< short4, 1, cudaReadModeElementType>  t, int x)
# 195
{volatile int ___ = 1;
# 199
exit(___);}
#if 0
 
# 195
{ 
# 196
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 198
return make_short4(v.x, v.y, v.z, v.w); 
# 199
} 
#endif
# 201 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort4 tex1Dfetch(texture< ushort4, 1, cudaReadModeElementType>  t, int x)
# 202
{volatile int ___ = 1;
# 206
exit(___);}
#if 0
 
# 202
{ 
# 203
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 205
return make_ushort4(v.x, v.y, v.z, v.w); 
# 206
} 
#endif
# 214 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int tex1Dfetch(texture< int, 1, cudaReadModeElementType>  t, int x)
# 215
{volatile int ___ = 1;
# 219
exit(___);}
#if 0
 
# 215
{ 
# 216
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 218
return (int)(v.x); 
# 219
} 
#endif
# 221 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned tex1Dfetch(texture< unsigned, 1, cudaReadModeElementType>  t, int x)
# 222
{volatile int ___ = 1;
# 226
exit(___);}
#if 0
 
# 222
{ 
# 223
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 225
return (unsigned)(v.x); 
# 226
} 
#endif
# 228 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int1 tex1Dfetch(texture< int1, 1, cudaReadModeElementType>  t, int x)
# 229
{volatile int ___ = 1;
# 233
exit(___);}
#if 0
 
# 229
{ 
# 230
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 232
return make_int1(v.x); 
# 233
} 
#endif
# 235 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint1 tex1Dfetch(texture< uint1, 1, cudaReadModeElementType>  t, int x)
# 236
{volatile int ___ = 1;
# 240
exit(___);}
#if 0
 
# 236
{ 
# 237
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 239
return make_uint1(v.x); 
# 240
} 
#endif
# 242 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int2 tex1Dfetch(texture< int2, 1, cudaReadModeElementType>  t, int x)
# 243
{volatile int ___ = 1;
# 247
exit(___);}
#if 0
 
# 243
{ 
# 244
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 246
return make_int2(v.x, v.y); 
# 247
} 
#endif
# 249 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint2 tex1Dfetch(texture< uint2, 1, cudaReadModeElementType>  t, int x)
# 250
{volatile int ___ = 1;
# 254
exit(___);}
#if 0
 
# 250
{ 
# 251
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 253
return make_uint2(v.x, v.y); 
# 254
} 
#endif
# 256 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int4 tex1Dfetch(texture< int4, 1, cudaReadModeElementType>  t, int x)
# 257
{volatile int ___ = 1;
# 261
exit(___);}
#if 0
 
# 257
{ 
# 258
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 260
return make_int4(v.x, v.y, v.z, v.w); 
# 261
} 
#endif
# 263 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint4 tex1Dfetch(texture< uint4, 1, cudaReadModeElementType>  t, int x)
# 264
{volatile int ___ = 1;
# 268
exit(___);}
#if 0
 
# 264
{ 
# 265
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 267
return make_uint4(v.x, v.y, v.z, v.w); 
# 268
} 
#endif
# 342 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1Dfetch(texture< float, 1, cudaReadModeElementType>  t, int x)
# 343
{volatile int ___ = 1;
# 347
exit(___);}
#if 0
 
# 343
{ 
# 344
float4 v = __ftexfetchi(t, make_int4(x, 0, 0, 0)); 
# 346
return v.x; 
# 347
} 
#endif
# 349 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1Dfetch(texture< float1, 1, cudaReadModeElementType>  t, int x)
# 350
{volatile int ___ = 1;
# 354
exit(___);}
#if 0
 
# 350
{ 
# 351
float4 v = __ftexfetchi(t, make_int4(x, 0, 0, 0)); 
# 353
return make_float1(v.x); 
# 354
} 
#endif
# 356 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1Dfetch(texture< float2, 1, cudaReadModeElementType>  t, int x)
# 357
{volatile int ___ = 1;
# 361
exit(___);}
#if 0
 
# 357
{ 
# 358
float4 v = __ftexfetchi(t, make_int4(x, 0, 0, 0)); 
# 360
return make_float2(v.x, v.y); 
# 361
} 
#endif
# 363 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1Dfetch(texture< float4, 1, cudaReadModeElementType>  t, int x)
# 364
{volatile int ___ = 1;
# 368
exit(___);}
#if 0
 
# 364
{ 
# 365
float4 v = __ftexfetchi(t, make_int4(x, 0, 0, 0)); 
# 367
return make_float4(v.x, v.y, v.z, v.w); 
# 368
} 
#endif
# 376 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1Dfetch(texture< char, 1, cudaReadModeNormalizedFloat>  t, int x)
# 377
{volatile int ___ = 1;
# 386
exit(___);}
#if 0
 
# 377
{ 
# 381
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 383
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 385
return w.x; 
# 386
} 
#endif
# 388 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1Dfetch(texture< signed char, 1, cudaReadModeNormalizedFloat>  t, int x)
# 389
{volatile int ___ = 1;
# 394
exit(___);}
#if 0
 
# 389
{ 
# 390
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 391
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 393
return w.x; 
# 394
} 
#endif
# 396 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1Dfetch(texture< unsigned char, 1, cudaReadModeNormalizedFloat>  t, int x)
# 397
{volatile int ___ = 1;
# 402
exit(___);}
#if 0
 
# 397
{ 
# 398
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 399
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 401
return w.x; 
# 402
} 
#endif
# 404 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1Dfetch(texture< char1, 1, cudaReadModeNormalizedFloat>  t, int x)
# 405
{volatile int ___ = 1;
# 410
exit(___);}
#if 0
 
# 405
{ 
# 406
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 407
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 409
return make_float1(w.x); 
# 410
} 
#endif
# 412 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1Dfetch(texture< uchar1, 1, cudaReadModeNormalizedFloat>  t, int x)
# 413
{volatile int ___ = 1;
# 418
exit(___);}
#if 0
 
# 413
{ 
# 414
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 415
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 417
return make_float1(w.x); 
# 418
} 
#endif
# 420 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1Dfetch(texture< char2, 1, cudaReadModeNormalizedFloat>  t, int x)
# 421
{volatile int ___ = 1;
# 426
exit(___);}
#if 0
 
# 421
{ 
# 422
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 423
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 425
return make_float2(w.x, w.y); 
# 426
} 
#endif
# 428 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1Dfetch(texture< uchar2, 1, cudaReadModeNormalizedFloat>  t, int x)
# 429
{volatile int ___ = 1;
# 434
exit(___);}
#if 0
 
# 429
{ 
# 430
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 431
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 433
return make_float2(w.x, w.y); 
# 434
} 
#endif
# 436 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1Dfetch(texture< char4, 1, cudaReadModeNormalizedFloat>  t, int x)
# 437
{volatile int ___ = 1;
# 442
exit(___);}
#if 0
 
# 437
{ 
# 438
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 439
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 441
return make_float4(w.x, w.y, w.z, w.w); 
# 442
} 
#endif
# 444 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1Dfetch(texture< uchar4, 1, cudaReadModeNormalizedFloat>  t, int x)
# 445
{volatile int ___ = 1;
# 450
exit(___);}
#if 0
 
# 445
{ 
# 446
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 447
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 449
return make_float4(w.x, w.y, w.z, w.w); 
# 450
} 
#endif
# 458 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1Dfetch(texture< short, 1, cudaReadModeNormalizedFloat>  t, int x)
# 459
{volatile int ___ = 1;
# 464
exit(___);}
#if 0
 
# 459
{ 
# 460
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 461
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 463
return w.x; 
# 464
} 
#endif
# 466 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1Dfetch(texture< unsigned short, 1, cudaReadModeNormalizedFloat>  t, int x)
# 467
{volatile int ___ = 1;
# 472
exit(___);}
#if 0
 
# 467
{ 
# 468
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 469
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 471
return w.x; 
# 472
} 
#endif
# 474 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1Dfetch(texture< short1, 1, cudaReadModeNormalizedFloat>  t, int x)
# 475
{volatile int ___ = 1;
# 480
exit(___);}
#if 0
 
# 475
{ 
# 476
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 477
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 479
return make_float1(w.x); 
# 480
} 
#endif
# 482 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1Dfetch(texture< ushort1, 1, cudaReadModeNormalizedFloat>  t, int x)
# 483
{volatile int ___ = 1;
# 488
exit(___);}
#if 0
 
# 483
{ 
# 484
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 485
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 487
return make_float1(w.x); 
# 488
} 
#endif
# 490 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1Dfetch(texture< short2, 1, cudaReadModeNormalizedFloat>  t, int x)
# 491
{volatile int ___ = 1;
# 496
exit(___);}
#if 0
 
# 491
{ 
# 492
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 493
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 495
return make_float2(w.x, w.y); 
# 496
} 
#endif
# 498 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1Dfetch(texture< ushort2, 1, cudaReadModeNormalizedFloat>  t, int x)
# 499
{volatile int ___ = 1;
# 504
exit(___);}
#if 0
 
# 499
{ 
# 500
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 501
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 503
return make_float2(w.x, w.y); 
# 504
} 
#endif
# 506 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1Dfetch(texture< short4, 1, cudaReadModeNormalizedFloat>  t, int x)
# 507
{volatile int ___ = 1;
# 512
exit(___);}
#if 0
 
# 507
{ 
# 508
int4 v = __itexfetchi(t, make_int4(x, 0, 0, 0)); 
# 509
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 511
return make_float4(w.x, w.y, w.z, w.w); 
# 512
} 
#endif
# 514 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1Dfetch(texture< ushort4, 1, cudaReadModeNormalizedFloat>  t, int x)
# 515
{volatile int ___ = 1;
# 520
exit(___);}
#if 0
 
# 515
{ 
# 516
uint4 v = __utexfetchi(t, make_int4(x, 0, 0, 0)); 
# 517
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 519
return make_float4(w.x, w.y, w.z, w.w); 
# 520
} 
#endif
# 528 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char tex1D(texture< char, 1, cudaReadModeElementType>  t, float x)
# 529
{volatile int ___ = 1;
# 537
exit(___);}
#if 0
 
# 529
{ 
# 533
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 536
return (char)(v.x); 
# 537
} 
#endif
# 539 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline signed char tex1D(texture< signed char, 1, cudaReadModeElementType>  t, float x)
# 540
{volatile int ___ = 1;
# 544
exit(___);}
#if 0
 
# 540
{ 
# 541
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 543
return (signed char)(v.x); 
# 544
} 
#endif
# 546 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned char tex1D(texture< unsigned char, 1, cudaReadModeElementType>  t, float x)
# 547
{volatile int ___ = 1;
# 551
exit(___);}
#if 0
 
# 547
{ 
# 548
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 550
return (unsigned char)(v.x); 
# 551
} 
#endif
# 553 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char1 tex1D(texture< char1, 1, cudaReadModeElementType>  t, float x)
# 554
{volatile int ___ = 1;
# 558
exit(___);}
#if 0
 
# 554
{ 
# 555
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 557
return make_char1(v.x); 
# 558
} 
#endif
# 560 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar1 tex1D(texture< uchar1, 1, cudaReadModeElementType>  t, float x)
# 561
{volatile int ___ = 1;
# 565
exit(___);}
#if 0
 
# 561
{ 
# 562
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 564
return make_uchar1(v.x); 
# 565
} 
#endif
# 567 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char2 tex1D(texture< char2, 1, cudaReadModeElementType>  t, float x)
# 568
{volatile int ___ = 1;
# 572
exit(___);}
#if 0
 
# 568
{ 
# 569
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 571
return make_char2(v.x, v.y); 
# 572
} 
#endif
# 574 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar2 tex1D(texture< uchar2, 1, cudaReadModeElementType>  t, float x)
# 575
{volatile int ___ = 1;
# 579
exit(___);}
#if 0
 
# 575
{ 
# 576
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 578
return make_uchar2(v.x, v.y); 
# 579
} 
#endif
# 581 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char4 tex1D(texture< char4, 1, cudaReadModeElementType>  t, float x)
# 582
{volatile int ___ = 1;
# 586
exit(___);}
#if 0
 
# 582
{ 
# 583
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 585
return make_char4(v.x, v.y, v.z, v.w); 
# 586
} 
#endif
# 588 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar4 tex1D(texture< uchar4, 1, cudaReadModeElementType>  t, float x)
# 589
{volatile int ___ = 1;
# 593
exit(___);}
#if 0
 
# 589
{ 
# 590
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 592
return make_uchar4(v.x, v.y, v.z, v.w); 
# 593
} 
#endif
# 601 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short tex1D(texture< short, 1, cudaReadModeElementType>  t, float x)
# 602
{volatile int ___ = 1;
# 606
exit(___);}
#if 0
 
# 602
{ 
# 603
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 605
return (short)(v.x); 
# 606
} 
#endif
# 608 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned short tex1D(texture< unsigned short, 1, cudaReadModeElementType>  t, float x)
# 609
{volatile int ___ = 1;
# 613
exit(___);}
#if 0
 
# 609
{ 
# 610
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 612
return (unsigned short)(v.x); 
# 613
} 
#endif
# 615 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short1 tex1D(texture< short1, 1, cudaReadModeElementType>  t, float x)
# 616
{volatile int ___ = 1;
# 620
exit(___);}
#if 0
 
# 616
{ 
# 617
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 619
return make_short1(v.x); 
# 620
} 
#endif
# 622 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort1 tex1D(texture< ushort1, 1, cudaReadModeElementType>  t, float x)
# 623
{volatile int ___ = 1;
# 627
exit(___);}
#if 0
 
# 623
{ 
# 624
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 626
return make_ushort1(v.x); 
# 627
} 
#endif
# 629 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short2 tex1D(texture< short2, 1, cudaReadModeElementType>  t, float x)
# 630
{volatile int ___ = 1;
# 634
exit(___);}
#if 0
 
# 630
{ 
# 631
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 633
return make_short2(v.x, v.y); 
# 634
} 
#endif
# 636 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort2 tex1D(texture< ushort2, 1, cudaReadModeElementType>  t, float x)
# 637
{volatile int ___ = 1;
# 641
exit(___);}
#if 0
 
# 637
{ 
# 638
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 640
return make_ushort2(v.x, v.y); 
# 641
} 
#endif
# 643 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short4 tex1D(texture< short4, 1, cudaReadModeElementType>  t, float x)
# 644
{volatile int ___ = 1;
# 648
exit(___);}
#if 0
 
# 644
{ 
# 645
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 647
return make_short4(v.x, v.y, v.z, v.w); 
# 648
} 
#endif
# 650 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort4 tex1D(texture< ushort4, 1, cudaReadModeElementType>  t, float x)
# 651
{volatile int ___ = 1;
# 655
exit(___);}
#if 0
 
# 651
{ 
# 652
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 654
return make_ushort4(v.x, v.y, v.z, v.w); 
# 655
} 
#endif
# 663 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int tex1D(texture< int, 1, cudaReadModeElementType>  t, float x)
# 664
{volatile int ___ = 1;
# 668
exit(___);}
#if 0
 
# 664
{ 
# 665
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 667
return (int)(v.x); 
# 668
} 
#endif
# 670 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned tex1D(texture< unsigned, 1, cudaReadModeElementType>  t, float x)
# 671
{volatile int ___ = 1;
# 675
exit(___);}
#if 0
 
# 671
{ 
# 672
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 674
return (unsigned)(v.x); 
# 675
} 
#endif
# 677 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int1 tex1D(texture< int1, 1, cudaReadModeElementType>  t, float x)
# 678
{volatile int ___ = 1;
# 682
exit(___);}
#if 0
 
# 678
{ 
# 679
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 681
return make_int1(v.x); 
# 682
} 
#endif
# 684 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint1 tex1D(texture< uint1, 1, cudaReadModeElementType>  t, float x)
# 685
{volatile int ___ = 1;
# 689
exit(___);}
#if 0
 
# 685
{ 
# 686
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 688
return make_uint1(v.x); 
# 689
} 
#endif
# 691 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int2 tex1D(texture< int2, 1, cudaReadModeElementType>  t, float x)
# 692
{volatile int ___ = 1;
# 696
exit(___);}
#if 0
 
# 692
{ 
# 693
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 695
return make_int2(v.x, v.y); 
# 696
} 
#endif
# 698 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint2 tex1D(texture< uint2, 1, cudaReadModeElementType>  t, float x)
# 699
{volatile int ___ = 1;
# 703
exit(___);}
#if 0
 
# 699
{ 
# 700
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 702
return make_uint2(v.x, v.y); 
# 703
} 
#endif
# 705 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int4 tex1D(texture< int4, 1, cudaReadModeElementType>  t, float x)
# 706
{volatile int ___ = 1;
# 710
exit(___);}
#if 0
 
# 706
{ 
# 707
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 709
return make_int4(v.x, v.y, v.z, v.w); 
# 710
} 
#endif
# 712 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint4 tex1D(texture< uint4, 1, cudaReadModeElementType>  t, float x)
# 713
{volatile int ___ = 1;
# 717
exit(___);}
#if 0
 
# 713
{ 
# 714
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 716
return make_uint4(v.x, v.y, v.z, v.w); 
# 717
} 
#endif
# 797 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1D(texture< float, 1, cudaReadModeElementType>  t, float x)
# 798
{volatile int ___ = 1;
# 802
exit(___);}
#if 0
 
# 798
{ 
# 799
float4 v = __ftexfetch(t, make_float4(x, 0, 0, 0)); 
# 801
return v.x; 
# 802
} 
#endif
# 804 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1D(texture< float1, 1, cudaReadModeElementType>  t, float x)
# 805
{volatile int ___ = 1;
# 809
exit(___);}
#if 0
 
# 805
{ 
# 806
float4 v = __ftexfetch(t, make_float4(x, 0, 0, 0)); 
# 808
return make_float1(v.x); 
# 809
} 
#endif
# 811 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1D(texture< float2, 1, cudaReadModeElementType>  t, float x)
# 812
{volatile int ___ = 1;
# 816
exit(___);}
#if 0
 
# 812
{ 
# 813
float4 v = __ftexfetch(t, make_float4(x, 0, 0, 0)); 
# 815
return make_float2(v.x, v.y); 
# 816
} 
#endif
# 818 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1D(texture< float4, 1, cudaReadModeElementType>  t, float x)
# 819
{volatile int ___ = 1;
# 823
exit(___);}
#if 0
 
# 819
{ 
# 820
float4 v = __ftexfetch(t, make_float4(x, 0, 0, 0)); 
# 822
return make_float4(v.x, v.y, v.z, v.w); 
# 823
} 
#endif
# 831 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1D(texture< char, 1, cudaReadModeNormalizedFloat>  t, float x)
# 832
{volatile int ___ = 1;
# 841
exit(___);}
#if 0
 
# 832
{ 
# 836
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 838
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 840
return w.x; 
# 841
} 
#endif
# 843 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1D(texture< signed char, 1, cudaReadModeNormalizedFloat>  t, float x)
# 844
{volatile int ___ = 1;
# 849
exit(___);}
#if 0
 
# 844
{ 
# 845
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 846
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 848
return w.x; 
# 849
} 
#endif
# 851 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1D(texture< unsigned char, 1, cudaReadModeNormalizedFloat>  t, float x)
# 852
{volatile int ___ = 1;
# 857
exit(___);}
#if 0
 
# 852
{ 
# 853
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 854
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 856
return w.x; 
# 857
} 
#endif
# 859 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1D(texture< char1, 1, cudaReadModeNormalizedFloat>  t, float x)
# 860
{volatile int ___ = 1;
# 865
exit(___);}
#if 0
 
# 860
{ 
# 861
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 862
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 864
return make_float1(w.x); 
# 865
} 
#endif
# 867 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1D(texture< uchar1, 1, cudaReadModeNormalizedFloat>  t, float x)
# 868
{volatile int ___ = 1;
# 873
exit(___);}
#if 0
 
# 868
{ 
# 869
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 870
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 872
return make_float1(w.x); 
# 873
} 
#endif
# 875 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1D(texture< char2, 1, cudaReadModeNormalizedFloat>  t, float x)
# 876
{volatile int ___ = 1;
# 881
exit(___);}
#if 0
 
# 876
{ 
# 877
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 878
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 880
return make_float2(w.x, w.y); 
# 881
} 
#endif
# 883 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1D(texture< uchar2, 1, cudaReadModeNormalizedFloat>  t, float x)
# 884
{volatile int ___ = 1;
# 889
exit(___);}
#if 0
 
# 884
{ 
# 885
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 886
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 888
return make_float2(w.x, w.y); 
# 889
} 
#endif
# 891 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1D(texture< char4, 1, cudaReadModeNormalizedFloat>  t, float x)
# 892
{volatile int ___ = 1;
# 897
exit(___);}
#if 0
 
# 892
{ 
# 893
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 894
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 896
return make_float4(w.x, w.y, w.z, w.w); 
# 897
} 
#endif
# 899 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1D(texture< uchar4, 1, cudaReadModeNormalizedFloat>  t, float x)
# 900
{volatile int ___ = 1;
# 905
exit(___);}
#if 0
 
# 900
{ 
# 901
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 902
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 904
return make_float4(w.x, w.y, w.z, w.w); 
# 905
} 
#endif
# 913 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1D(texture< short, 1, cudaReadModeNormalizedFloat>  t, float x)
# 914
{volatile int ___ = 1;
# 919
exit(___);}
#if 0
 
# 914
{ 
# 915
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 916
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 918
return w.x; 
# 919
} 
#endif
# 921 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex1D(texture< unsigned short, 1, cudaReadModeNormalizedFloat>  t, float x)
# 922
{volatile int ___ = 1;
# 927
exit(___);}
#if 0
 
# 922
{ 
# 923
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 924
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 926
return w.x; 
# 927
} 
#endif
# 929 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1D(texture< short1, 1, cudaReadModeNormalizedFloat>  t, float x)
# 930
{volatile int ___ = 1;
# 935
exit(___);}
#if 0
 
# 930
{ 
# 931
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 932
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 934
return make_float1(w.x); 
# 935
} 
#endif
# 937 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex1D(texture< ushort1, 1, cudaReadModeNormalizedFloat>  t, float x)
# 938
{volatile int ___ = 1;
# 943
exit(___);}
#if 0
 
# 938
{ 
# 939
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 940
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 942
return make_float1(w.x); 
# 943
} 
#endif
# 945 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1D(texture< short2, 1, cudaReadModeNormalizedFloat>  t, float x)
# 946
{volatile int ___ = 1;
# 951
exit(___);}
#if 0
 
# 946
{ 
# 947
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 948
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 950
return make_float2(w.x, w.y); 
# 951
} 
#endif
# 953 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex1D(texture< ushort2, 1, cudaReadModeNormalizedFloat>  t, float x)
# 954
{volatile int ___ = 1;
# 959
exit(___);}
#if 0
 
# 954
{ 
# 955
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 956
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 958
return make_float2(w.x, w.y); 
# 959
} 
#endif
# 961 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1D(texture< short4, 1, cudaReadModeNormalizedFloat>  t, float x)
# 962
{volatile int ___ = 1;
# 967
exit(___);}
#if 0
 
# 962
{ 
# 963
int4 v = __itexfetch(t, make_float4(x, 0, 0, 0)); 
# 964
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 966
return make_float4(w.x, w.y, w.z, w.w); 
# 967
} 
#endif
# 969 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex1D(texture< ushort4, 1, cudaReadModeNormalizedFloat>  t, float x)
# 970
{volatile int ___ = 1;
# 975
exit(___);}
#if 0
 
# 970
{ 
# 971
uint4 v = __utexfetch(t, make_float4(x, 0, 0, 0)); 
# 972
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 974
return make_float4(w.x, w.y, w.z, w.w); 
# 975
} 
#endif
# 983 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char tex2D(texture< char, 2, cudaReadModeElementType>  t, float x, float y)
# 984
{volatile int ___ = 1;
# 992
exit(___);}
#if 0
 
# 984
{ 
# 988
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 991
return (char)(v.x); 
# 992
} 
#endif
# 994 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline signed char tex2D(texture< signed char, 2, cudaReadModeElementType>  t, float x, float y)
# 995
{volatile int ___ = 1;
# 999
exit(___);}
#if 0
 
# 995
{ 
# 996
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 998
return (signed char)(v.x); 
# 999
} 
#endif
# 1001 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned char tex2D(texture< unsigned char, 2, cudaReadModeElementType>  t, float x, float y)
# 1002
{volatile int ___ = 1;
# 1006
exit(___);}
#if 0
 
# 1002
{ 
# 1003
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1005
return (unsigned char)(v.x); 
# 1006
} 
#endif
# 1008 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char1 tex2D(texture< char1, 2, cudaReadModeElementType>  t, float x, float y)
# 1009
{volatile int ___ = 1;
# 1013
exit(___);}
#if 0
 
# 1009
{ 
# 1010
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1012
return make_char1(v.x); 
# 1013
} 
#endif
# 1015 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar1 tex2D(texture< uchar1, 2, cudaReadModeElementType>  t, float x, float y)
# 1016
{volatile int ___ = 1;
# 1020
exit(___);}
#if 0
 
# 1016
{ 
# 1017
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1019
return make_uchar1(v.x); 
# 1020
} 
#endif
# 1022 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char2 tex2D(texture< char2, 2, cudaReadModeElementType>  t, float x, float y)
# 1023
{volatile int ___ = 1;
# 1027
exit(___);}
#if 0
 
# 1023
{ 
# 1024
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1026
return make_char2(v.x, v.y); 
# 1027
} 
#endif
# 1029 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar2 tex2D(texture< uchar2, 2, cudaReadModeElementType>  t, float x, float y)
# 1030
{volatile int ___ = 1;
# 1034
exit(___);}
#if 0
 
# 1030
{ 
# 1031
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1033
return make_uchar2(v.x, v.y); 
# 1034
} 
#endif
# 1036 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char4 tex2D(texture< char4, 2, cudaReadModeElementType>  t, float x, float y)
# 1037
{volatile int ___ = 1;
# 1041
exit(___);}
#if 0
 
# 1037
{ 
# 1038
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1040
return make_char4(v.x, v.y, v.z, v.w); 
# 1041
} 
#endif
# 1043 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar4 tex2D(texture< uchar4, 2, cudaReadModeElementType>  t, float x, float y)
# 1044
{volatile int ___ = 1;
# 1048
exit(___);}
#if 0
 
# 1044
{ 
# 1045
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1047
return make_uchar4(v.x, v.y, v.z, v.w); 
# 1048
} 
#endif
# 1056 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short tex2D(texture< short, 2, cudaReadModeElementType>  t, float x, float y)
# 1057
{volatile int ___ = 1;
# 1061
exit(___);}
#if 0
 
# 1057
{ 
# 1058
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1060
return (short)(v.x); 
# 1061
} 
#endif
# 1063 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned short tex2D(texture< unsigned short, 2, cudaReadModeElementType>  t, float x, float y)
# 1064
{volatile int ___ = 1;
# 1068
exit(___);}
#if 0
 
# 1064
{ 
# 1065
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1067
return (unsigned short)(v.x); 
# 1068
} 
#endif
# 1070 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short1 tex2D(texture< short1, 2, cudaReadModeElementType>  t, float x, float y)
# 1071
{volatile int ___ = 1;
# 1075
exit(___);}
#if 0
 
# 1071
{ 
# 1072
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1074
return make_short1(v.x); 
# 1075
} 
#endif
# 1077 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort1 tex2D(texture< ushort1, 2, cudaReadModeElementType>  t, float x, float y)
# 1078
{volatile int ___ = 1;
# 1082
exit(___);}
#if 0
 
# 1078
{ 
# 1079
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1081
return make_ushort1(v.x); 
# 1082
} 
#endif
# 1084 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short2 tex2D(texture< short2, 2, cudaReadModeElementType>  t, float x, float y)
# 1085
{volatile int ___ = 1;
# 1089
exit(___);}
#if 0
 
# 1085
{ 
# 1086
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1088
return make_short2(v.x, v.y); 
# 1089
} 
#endif
# 1091 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort2 tex2D(texture< ushort2, 2, cudaReadModeElementType>  t, float x, float y)
# 1092
{volatile int ___ = 1;
# 1096
exit(___);}
#if 0
 
# 1092
{ 
# 1093
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1095
return make_ushort2(v.x, v.y); 
# 1096
} 
#endif
# 1098 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short4 tex2D(texture< short4, 2, cudaReadModeElementType>  t, float x, float y)
# 1099
{volatile int ___ = 1;
# 1103
exit(___);}
#if 0
 
# 1099
{ 
# 1100
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1102
return make_short4(v.x, v.y, v.z, v.w); 
# 1103
} 
#endif
# 1105 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort4 tex2D(texture< ushort4, 2, cudaReadModeElementType>  t, float x, float y)
# 1106
{volatile int ___ = 1;
# 1110
exit(___);}
#if 0
 
# 1106
{ 
# 1107
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1109
return make_ushort4(v.x, v.y, v.z, v.w); 
# 1110
} 
#endif
# 1118 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int tex2D(texture< int, 2, cudaReadModeElementType>  t, float x, float y)
# 1119
{volatile int ___ = 1;
# 1123
exit(___);}
#if 0
 
# 1119
{ 
# 1120
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1122
return (int)(v.x); 
# 1123
} 
#endif
# 1125 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned tex2D(texture< unsigned, 2, cudaReadModeElementType>  t, float x, float y)
# 1126
{volatile int ___ = 1;
# 1130
exit(___);}
#if 0
 
# 1126
{ 
# 1127
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1129
return (unsigned)(v.x); 
# 1130
} 
#endif
# 1132 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int1 tex2D(texture< int1, 2, cudaReadModeElementType>  t, float x, float y)
# 1133
{volatile int ___ = 1;
# 1137
exit(___);}
#if 0
 
# 1133
{ 
# 1134
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1136
return make_int1(v.x); 
# 1137
} 
#endif
# 1139 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint1 tex2D(texture< uint1, 2, cudaReadModeElementType>  t, float x, float y)
# 1140
{volatile int ___ = 1;
# 1144
exit(___);}
#if 0
 
# 1140
{ 
# 1141
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1143
return make_uint1(v.x); 
# 1144
} 
#endif
# 1146 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int2 tex2D(texture< int2, 2, cudaReadModeElementType>  t, float x, float y)
# 1147
{volatile int ___ = 1;
# 1151
exit(___);}
#if 0
 
# 1147
{ 
# 1148
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1150
return make_int2(v.x, v.y); 
# 1151
} 
#endif
# 1153 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint2 tex2D(texture< uint2, 2, cudaReadModeElementType>  t, float x, float y)
# 1154
{volatile int ___ = 1;
# 1158
exit(___);}
#if 0
 
# 1154
{ 
# 1155
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1157
return make_uint2(v.x, v.y); 
# 1158
} 
#endif
# 1160 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int4 tex2D(texture< int4, 2, cudaReadModeElementType>  t, float x, float y)
# 1161
{volatile int ___ = 1;
# 1165
exit(___);}
#if 0
 
# 1161
{ 
# 1162
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1164
return make_int4(v.x, v.y, v.z, v.w); 
# 1165
} 
#endif
# 1167 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint4 tex2D(texture< uint4, 2, cudaReadModeElementType>  t, float x, float y)
# 1168
{volatile int ___ = 1;
# 1172
exit(___);}
#if 0
 
# 1168
{ 
# 1169
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1171
return make_uint4(v.x, v.y, v.z, v.w); 
# 1172
} 
#endif
# 1246 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex2D(texture< float, 2, cudaReadModeElementType>  t, float x, float y)
# 1247
{volatile int ___ = 1;
# 1251
exit(___);}
#if 0
 
# 1247
{ 
# 1248
float4 v = __ftexfetch(t, make_float4(x, y, 0, 0)); 
# 1250
return v.x; 
# 1251
} 
#endif
# 1253 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex2D(texture< float1, 2, cudaReadModeElementType>  t, float x, float y)
# 1254
{volatile int ___ = 1;
# 1258
exit(___);}
#if 0
 
# 1254
{ 
# 1255
float4 v = __ftexfetch(t, make_float4(x, y, 0, 0)); 
# 1257
return make_float1(v.x); 
# 1258
} 
#endif
# 1260 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex2D(texture< float2, 2, cudaReadModeElementType>  t, float x, float y)
# 1261
{volatile int ___ = 1;
# 1265
exit(___);}
#if 0
 
# 1261
{ 
# 1262
float4 v = __ftexfetch(t, make_float4(x, y, 0, 0)); 
# 1264
return make_float2(v.x, v.y); 
# 1265
} 
#endif
# 1267 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex2D(texture< float4, 2, cudaReadModeElementType>  t, float x, float y)
# 1268
{volatile int ___ = 1;
# 1272
exit(___);}
#if 0
 
# 1268
{ 
# 1269
float4 v = __ftexfetch(t, make_float4(x, y, 0, 0)); 
# 1271
return make_float4(v.x, v.y, v.z, v.w); 
# 1272
} 
#endif
# 1280 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex2D(texture< char, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1281
{volatile int ___ = 1;
# 1290
exit(___);}
#if 0
 
# 1281
{ 
# 1285
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1287
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1289
return w.x; 
# 1290
} 
#endif
# 1292 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex2D(texture< signed char, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1293
{volatile int ___ = 1;
# 1298
exit(___);}
#if 0
 
# 1293
{ 
# 1294
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1295
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1297
return w.x; 
# 1298
} 
#endif
# 1300 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex2D(texture< unsigned char, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1301
{volatile int ___ = 1;
# 1306
exit(___);}
#if 0
 
# 1301
{ 
# 1302
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1303
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1305
return w.x; 
# 1306
} 
#endif
# 1308 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex2D(texture< char1, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1309
{volatile int ___ = 1;
# 1314
exit(___);}
#if 0
 
# 1309
{ 
# 1310
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1311
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1313
return make_float1(w.x); 
# 1314
} 
#endif
# 1316 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex2D(texture< uchar1, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1317
{volatile int ___ = 1;
# 1322
exit(___);}
#if 0
 
# 1317
{ 
# 1318
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1319
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1321
return make_float1(w.x); 
# 1322
} 
#endif
# 1324 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex2D(texture< char2, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1325
{volatile int ___ = 1;
# 1330
exit(___);}
#if 0
 
# 1325
{ 
# 1326
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1327
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1329
return make_float2(w.x, w.y); 
# 1330
} 
#endif
# 1332 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex2D(texture< uchar2, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1333
{volatile int ___ = 1;
# 1338
exit(___);}
#if 0
 
# 1333
{ 
# 1334
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1335
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1337
return make_float2(w.x, w.y); 
# 1338
} 
#endif
# 1340 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex2D(texture< char4, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1341
{volatile int ___ = 1;
# 1346
exit(___);}
#if 0
 
# 1341
{ 
# 1342
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1343
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1345
return make_float4(w.x, w.y, w.z, w.w); 
# 1346
} 
#endif
# 1348 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex2D(texture< uchar4, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1349
{volatile int ___ = 1;
# 1354
exit(___);}
#if 0
 
# 1349
{ 
# 1350
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1351
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1353
return make_float4(w.x, w.y, w.z, w.w); 
# 1354
} 
#endif
# 1362 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex2D(texture< short, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1363
{volatile int ___ = 1;
# 1368
exit(___);}
#if 0
 
# 1363
{ 
# 1364
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1365
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1367
return w.x; 
# 1368
} 
#endif
# 1370 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex2D(texture< unsigned short, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1371
{volatile int ___ = 1;
# 1376
exit(___);}
#if 0
 
# 1371
{ 
# 1372
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1373
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1375
return w.x; 
# 1376
} 
#endif
# 1378 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex2D(texture< short1, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1379
{volatile int ___ = 1;
# 1384
exit(___);}
#if 0
 
# 1379
{ 
# 1380
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1381
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1383
return make_float1(w.x); 
# 1384
} 
#endif
# 1386 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex2D(texture< ushort1, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1387
{volatile int ___ = 1;
# 1392
exit(___);}
#if 0
 
# 1387
{ 
# 1388
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1389
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1391
return make_float1(w.x); 
# 1392
} 
#endif
# 1394 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex2D(texture< short2, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1395
{volatile int ___ = 1;
# 1400
exit(___);}
#if 0
 
# 1395
{ 
# 1396
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1397
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1399
return make_float2(w.x, w.y); 
# 1400
} 
#endif
# 1402 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex2D(texture< ushort2, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1403
{volatile int ___ = 1;
# 1408
exit(___);}
#if 0
 
# 1403
{ 
# 1404
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1405
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1407
return make_float2(w.x, w.y); 
# 1408
} 
#endif
# 1410 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex2D(texture< short4, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1411
{volatile int ___ = 1;
# 1416
exit(___);}
#if 0
 
# 1411
{ 
# 1412
int4 v = __itexfetch(t, make_float4(x, y, 0, 0)); 
# 1413
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1415
return make_float4(w.x, w.y, w.z, w.w); 
# 1416
} 
#endif
# 1418 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex2D(texture< ushort4, 2, cudaReadModeNormalizedFloat>  t, float x, float y)
# 1419
{volatile int ___ = 1;
# 1424
exit(___);}
#if 0
 
# 1419
{ 
# 1420
uint4 v = __utexfetch(t, make_float4(x, y, 0, 0)); 
# 1421
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1423
return make_float4(w.x, w.y, w.z, w.w); 
# 1424
} 
#endif
# 1432 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char tex3D(texture< char, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1433
{volatile int ___ = 1;
# 1441
exit(___);}
#if 0
 
# 1433
{ 
# 1437
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1440
return (char)(v.x); 
# 1441
} 
#endif
# 1443 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline signed char tex3D(texture< signed char, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1444
{volatile int ___ = 1;
# 1448
exit(___);}
#if 0
 
# 1444
{ 
# 1445
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1447
return (signed char)(v.x); 
# 1448
} 
#endif
# 1450 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned char tex3D(texture< unsigned char, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1451
{volatile int ___ = 1;
# 1455
exit(___);}
#if 0
 
# 1451
{ 
# 1452
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1454
return (unsigned char)(v.x); 
# 1455
} 
#endif
# 1457 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char1 tex3D(texture< char1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1458
{volatile int ___ = 1;
# 1462
exit(___);}
#if 0
 
# 1458
{ 
# 1459
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1461
return make_char1(v.x); 
# 1462
} 
#endif
# 1464 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar1 tex3D(texture< uchar1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1465
{volatile int ___ = 1;
# 1469
exit(___);}
#if 0
 
# 1465
{ 
# 1466
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1468
return make_uchar1(v.x); 
# 1469
} 
#endif
# 1471 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char2 tex3D(texture< char2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1472
{volatile int ___ = 1;
# 1476
exit(___);}
#if 0
 
# 1472
{ 
# 1473
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1475
return make_char2(v.x, v.y); 
# 1476
} 
#endif
# 1478 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar2 tex3D(texture< uchar2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1479
{volatile int ___ = 1;
# 1483
exit(___);}
#if 0
 
# 1479
{ 
# 1480
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1482
return make_uchar2(v.x, v.y); 
# 1483
} 
#endif
# 1485 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline char4 tex3D(texture< char4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1486
{volatile int ___ = 1;
# 1490
exit(___);}
#if 0
 
# 1486
{ 
# 1487
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1489
return make_char4(v.x, v.y, v.z, v.w); 
# 1490
} 
#endif
# 1492 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uchar4 tex3D(texture< uchar4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1493
{volatile int ___ = 1;
# 1497
exit(___);}
#if 0
 
# 1493
{ 
# 1494
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1496
return make_uchar4(v.x, v.y, v.z, v.w); 
# 1497
} 
#endif
# 1505 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short tex3D(texture< short, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1506
{volatile int ___ = 1;
# 1510
exit(___);}
#if 0
 
# 1506
{ 
# 1507
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1509
return (short)(v.x); 
# 1510
} 
#endif
# 1512 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned short tex3D(texture< unsigned short, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1513
{volatile int ___ = 1;
# 1517
exit(___);}
#if 0
 
# 1513
{ 
# 1514
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1516
return (unsigned short)(v.x); 
# 1517
} 
#endif
# 1519 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short1 tex3D(texture< short1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1520
{volatile int ___ = 1;
# 1524
exit(___);}
#if 0
 
# 1520
{ 
# 1521
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1523
return make_short1(v.x); 
# 1524
} 
#endif
# 1526 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort1 tex3D(texture< ushort1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1527
{volatile int ___ = 1;
# 1531
exit(___);}
#if 0
 
# 1527
{ 
# 1528
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1530
return make_ushort1(v.x); 
# 1531
} 
#endif
# 1533 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short2 tex3D(texture< short2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1534
{volatile int ___ = 1;
# 1538
exit(___);}
#if 0
 
# 1534
{ 
# 1535
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1537
return make_short2(v.x, v.y); 
# 1538
} 
#endif
# 1540 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort2 tex3D(texture< ushort2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1541
{volatile int ___ = 1;
# 1545
exit(___);}
#if 0
 
# 1541
{ 
# 1542
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1544
return make_ushort2(v.x, v.y); 
# 1545
} 
#endif
# 1547 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline short4 tex3D(texture< short4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1548
{volatile int ___ = 1;
# 1552
exit(___);}
#if 0
 
# 1548
{ 
# 1549
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1551
return make_short4(v.x, v.y, v.z, v.w); 
# 1552
} 
#endif
# 1554 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline ushort4 tex3D(texture< ushort4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1555
{volatile int ___ = 1;
# 1559
exit(___);}
#if 0
 
# 1555
{ 
# 1556
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1558
return make_ushort4(v.x, v.y, v.z, v.w); 
# 1559
} 
#endif
# 1567 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int tex3D(texture< int, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1568
{volatile int ___ = 1;
# 1572
exit(___);}
#if 0
 
# 1568
{ 
# 1569
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1571
return (int)(v.x); 
# 1572
} 
#endif
# 1574 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline unsigned tex3D(texture< unsigned, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1575
{volatile int ___ = 1;
# 1579
exit(___);}
#if 0
 
# 1575
{ 
# 1576
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1578
return (unsigned)(v.x); 
# 1579
} 
#endif
# 1581 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int1 tex3D(texture< int1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1582
{volatile int ___ = 1;
# 1586
exit(___);}
#if 0
 
# 1582
{ 
# 1583
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1585
return make_int1(v.x); 
# 1586
} 
#endif
# 1588 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint1 tex3D(texture< uint1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1589
{volatile int ___ = 1;
# 1593
exit(___);}
#if 0
 
# 1589
{ 
# 1590
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1592
return make_uint1(v.x); 
# 1593
} 
#endif
# 1595 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int2 tex3D(texture< int2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1596
{volatile int ___ = 1;
# 1600
exit(___);}
#if 0
 
# 1596
{ 
# 1597
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1599
return make_int2(v.x, v.y); 
# 1600
} 
#endif
# 1602 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint2 tex3D(texture< uint2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1603
{volatile int ___ = 1;
# 1607
exit(___);}
#if 0
 
# 1603
{ 
# 1604
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1606
return make_uint2(v.x, v.y); 
# 1607
} 
#endif
# 1609 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline int4 tex3D(texture< int4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1610
{volatile int ___ = 1;
# 1614
exit(___);}
#if 0
 
# 1610
{ 
# 1611
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1613
return make_int4(v.x, v.y, v.z, v.w); 
# 1614
} 
#endif
# 1616 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline uint4 tex3D(texture< uint4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1617
{volatile int ___ = 1;
# 1621
exit(___);}
#if 0
 
# 1617
{ 
# 1618
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1620
return make_uint4(v.x, v.y, v.z, v.w); 
# 1621
} 
#endif
# 1695 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex3D(texture< float, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1696
{volatile int ___ = 1;
# 1700
exit(___);}
#if 0
 
# 1696
{ 
# 1697
float4 v = __ftexfetch(t, make_float4(x, y, z, 0)); 
# 1699
return v.x; 
# 1700
} 
#endif
# 1702 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex3D(texture< float1, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1703
{volatile int ___ = 1;
# 1707
exit(___);}
#if 0
 
# 1703
{ 
# 1704
float4 v = __ftexfetch(t, make_float4(x, y, z, 0)); 
# 1706
return make_float1(v.x); 
# 1707
} 
#endif
# 1709 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex3D(texture< float2, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1710
{volatile int ___ = 1;
# 1714
exit(___);}
#if 0
 
# 1710
{ 
# 1711
float4 v = __ftexfetch(t, make_float4(x, y, z, 0)); 
# 1713
return make_float2(v.x, v.y); 
# 1714
} 
#endif
# 1716 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex3D(texture< float4, 3, cudaReadModeElementType>  t, float x, float y, float z)
# 1717
{volatile int ___ = 1;
# 1721
exit(___);}
#if 0
 
# 1717
{ 
# 1718
float4 v = __ftexfetch(t, make_float4(x, y, z, 0)); 
# 1720
return make_float4(v.x, v.y, v.z, v.w); 
# 1721
} 
#endif
# 1729 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex3D(texture< char, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1730
{volatile int ___ = 1;
# 1739
exit(___);}
#if 0
 
# 1730
{ 
# 1734
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1736
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1738
return w.x; 
# 1739
} 
#endif
# 1741 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex3D(texture< signed char, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1742
{volatile int ___ = 1;
# 1747
exit(___);}
#if 0
 
# 1742
{ 
# 1743
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1744
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1746
return w.x; 
# 1747
} 
#endif
# 1749 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex3D(texture< unsigned char, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1750
{volatile int ___ = 1;
# 1755
exit(___);}
#if 0
 
# 1750
{ 
# 1751
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1752
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1754
return w.x; 
# 1755
} 
#endif
# 1757 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex3D(texture< char1, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1758
{volatile int ___ = 1;
# 1763
exit(___);}
#if 0
 
# 1758
{ 
# 1759
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1760
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1762
return make_float1(w.x); 
# 1763
} 
#endif
# 1765 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex3D(texture< uchar1, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1766
{volatile int ___ = 1;
# 1771
exit(___);}
#if 0
 
# 1766
{ 
# 1767
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1768
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1770
return make_float1(w.x); 
# 1771
} 
#endif
# 1773 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex3D(texture< char2, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1774
{volatile int ___ = 1;
# 1779
exit(___);}
#if 0
 
# 1774
{ 
# 1775
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1776
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1778
return make_float2(w.x, w.y); 
# 1779
} 
#endif
# 1781 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex3D(texture< uchar2, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1782
{volatile int ___ = 1;
# 1787
exit(___);}
#if 0
 
# 1782
{ 
# 1783
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1784
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1786
return make_float2(w.x, w.y); 
# 1787
} 
#endif
# 1789 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex3D(texture< char4, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1790
{volatile int ___ = 1;
# 1795
exit(___);}
#if 0
 
# 1790
{ 
# 1791
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1792
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1794
return make_float4(w.x, w.y, w.z, w.w); 
# 1795
} 
#endif
# 1797 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex3D(texture< uchar4, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1798
{volatile int ___ = 1;
# 1803
exit(___);}
#if 0
 
# 1798
{ 
# 1799
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1800
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1802
return make_float4(w.x, w.y, w.z, w.w); 
# 1803
} 
#endif
# 1811 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex3D(texture< short, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1812
{volatile int ___ = 1;
# 1817
exit(___);}
#if 0
 
# 1812
{ 
# 1813
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1814
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1816
return w.x; 
# 1817
} 
#endif
# 1819 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float tex3D(texture< unsigned short, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1820
{volatile int ___ = 1;
# 1825
exit(___);}
#if 0
 
# 1820
{ 
# 1821
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1822
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1824
return w.x; 
# 1825
} 
#endif
# 1827 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex3D(texture< short1, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1828
{volatile int ___ = 1;
# 1833
exit(___);}
#if 0
 
# 1828
{ 
# 1829
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1830
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1832
return make_float1(w.x); 
# 1833
} 
#endif
# 1835 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float1 tex3D(texture< ushort1, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1836
{volatile int ___ = 1;
# 1841
exit(___);}
#if 0
 
# 1836
{ 
# 1837
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1838
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1840
return make_float1(w.x); 
# 1841
} 
#endif
# 1843 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex3D(texture< short2, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1844
{volatile int ___ = 1;
# 1849
exit(___);}
#if 0
 
# 1844
{ 
# 1845
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1846
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1848
return make_float2(w.x, w.y); 
# 1849
} 
#endif
# 1851 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float2 tex3D(texture< ushort2, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1852
{volatile int ___ = 1;
# 1857
exit(___);}
#if 0
 
# 1852
{ 
# 1853
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1854
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1856
return make_float2(w.x, w.y); 
# 1857
} 
#endif
# 1859 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex3D(texture< short4, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1860
{volatile int ___ = 1;
# 1865
exit(___);}
#if 0
 
# 1860
{ 
# 1861
int4 v = __itexfetch(t, make_float4(x, y, z, 0)); 
# 1862
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1864
return make_float4(w.x, w.y, w.z, w.w); 
# 1865
} 
#endif
# 1867 "/opt/cuda/bin/../include/texture_fetch_functions.h"
__loc_sc__(__device__,,static ) inline float4 tex3D(texture< ushort4, 3, cudaReadModeNormalizedFloat>  t, float x, float y, float z)
# 1868
{volatile int ___ = 1;
# 1873
exit(___);}
#if 0
 
# 1868
{ 
# 1869
uint4 v = __utexfetch(t, make_float4(x, y, z, 0)); 
# 1870
float4 w = make_float4(__int_as_float(v.x), __int_as_float(v.y), __int_as_float(v.z), __int_as_float(v.w)); 
# 1872
return make_float4(w.x, w.y, w.z, w.w); 
# 1873
} 
#endif
# 53 "/opt/cuda/bin/../include/device_launch_parameters.h"
#if 0
extern "C" { extern const uint3 
# 53
threadIdx; } 
#endif
# 55 "/opt/cuda/bin/../include/device_launch_parameters.h"
#if 0
extern "C" { extern const uint3 
# 55
blockIdx; } 
#endif
# 57 "/opt/cuda/bin/../include/device_launch_parameters.h"
#if 0
extern "C" { extern const dim3 
# 57
blockDim; } 
#endif
# 59 "/opt/cuda/bin/../include/device_launch_parameters.h"
#if 0
extern "C" { extern const dim3 
# 59
gridDim; } 
#endif
# 61 "/opt/cuda/bin/../include/device_launch_parameters.h"
#if 0
extern "C" { extern const int 
# 61
warpSize; } 
#endif
# 101 "/opt/cuda/bin/../include/cuda_runtime.h"
template<class T> inline cudaError_t 
# 102
cudaSetupArgument(T 
# 103
arg, size_t 
# 104
offset) 
# 106
{ 
# 107
return cudaSetupArgument((const void *)(&arg), sizeof(T), offset); 
# 108
} 
# 110
template<class T> inline cudaError_t 
# 111
cudaHostAlloc(T **
# 112
ptr, size_t 
# 113
size, unsigned 
# 114
flags) 
# 116
{ 
# 117
return cudaHostAlloc((void **)((void *)ptr), size, flags); 
# 118
} 
# 120
template<class T> inline cudaError_t 
# 121
cudaHostGetDevicePointer(T **
# 122
pDevice, void *
# 123
pHost, unsigned 
# 124
flags) 
# 126
{ 
# 127
return cudaHostGetDevicePointer((void **)((void *)pDevice), pHost, flags); 
# 128
} 
# 130
template<class T> inline cudaError_t 
# 131
cudaMalloc(T **
# 132
devPtr, size_t 
# 133
size) 
# 135
{ 
# 136
return cudaMalloc((void **)((void *)devPtr), size); 
# 137
} 
# 139
template<class T> inline cudaError_t 
# 140
cudaMallocHost(T **
# 141
ptr, size_t 
# 142
size) 
# 144
{ 
# 145
return cudaMallocHost((void **)((void *)ptr), size); 
# 146
} 
# 148
template<class T> inline cudaError_t 
# 149
cudaMallocPitch(T **
# 150
devPtr, size_t *
# 151
pitch, size_t 
# 152
width, size_t 
# 153
height) 
# 155
{ 
# 156
return cudaMallocPitch((void **)((void *)devPtr), pitch, width, height); 
# 157
} 
# 172
static inline cudaError_t cudaMemcpyToSymbol(char *
# 173
symbol, const void *
# 174
src, size_t 
# 175
count, size_t 
# 176
offset = (0), cudaMemcpyKind 
# 177
kind = cudaMemcpyHostToDevice) 
# 179
{ 
# 180
return cudaMemcpyToSymbol((const char *)symbol, src, count, offset, kind); 
# 181
} 
# 183
template<class T> inline cudaError_t 
# 184
cudaMemcpyToSymbol(const T &
# 185
symbol, const void *
# 186
src, size_t 
# 187
count, size_t 
# 188
offset = (0), cudaMemcpyKind 
# 189
kind = cudaMemcpyHostToDevice) 
# 191
{ 
# 192
return cudaMemcpyToSymbol((const char *)(&symbol), src, count, offset, kind); 
# 193
} 
# 195
static inline cudaError_t cudaMemcpyToSymbolAsync(char *
# 196
symbol, const void *
# 197
src, size_t 
# 198
count, size_t 
# 199
offset = (0), cudaMemcpyKind 
# 200
kind = cudaMemcpyHostToDevice, cudaStream_t 
# 201
stream = 0) 
# 203
{ 
# 204
return cudaMemcpyToSymbolAsync((const char *)symbol, src, count, offset, kind, stream); 
# 205
} 
# 207
template<class T> inline cudaError_t 
# 208
cudaMemcpyToSymbolAsync(const T &
# 209
symbol, const void *
# 210
src, size_t 
# 211
count, size_t 
# 212
offset = (0), cudaMemcpyKind 
# 213
kind = cudaMemcpyHostToDevice, cudaStream_t 
# 214
stream = 0) 
# 216
{ 
# 217
return cudaMemcpyToSymbolAsync((const char *)(&symbol), src, count, offset, kind, stream); 
# 218
} 
# 226
static inline cudaError_t cudaMemcpyFromSymbol(void *
# 227
dst, char *
# 228
symbol, size_t 
# 229
count, size_t 
# 230
offset = (0), cudaMemcpyKind 
# 231
kind = cudaMemcpyDeviceToHost) 
# 233
{ 
# 234
return cudaMemcpyFromSymbol(dst, (const char *)symbol, count, offset, kind); 
# 235
} 
# 237
template<class T> inline cudaError_t 
# 238
cudaMemcpyFromSymbol(void *
# 239
dst, const T &
# 240
symbol, size_t 
# 241
count, size_t 
# 242
offset = (0), cudaMemcpyKind 
# 243
kind = cudaMemcpyDeviceToHost) 
# 245
{ 
# 246
return cudaMemcpyFromSymbol(dst, (const char *)(&symbol), count, offset, kind); 
# 247
} 
# 249
static inline cudaError_t cudaMemcpyFromSymbolAsync(void *
# 250
dst, char *
# 251
symbol, size_t 
# 252
count, size_t 
# 253
offset = (0), cudaMemcpyKind 
# 254
kind = cudaMemcpyDeviceToHost, cudaStream_t 
# 255
stream = 0) 
# 257
{ 
# 258
return cudaMemcpyFromSymbolAsync(dst, (const char *)symbol, count, offset, kind, stream); 
# 259
} 
# 261
template<class T> inline cudaError_t 
# 262
cudaMemcpyFromSymbolAsync(void *
# 263
dst, const T &
# 264
symbol, size_t 
# 265
count, size_t 
# 266
offset = (0), cudaMemcpyKind 
# 267
kind = cudaMemcpyDeviceToHost, cudaStream_t 
# 268
stream = 0) 
# 270
{ 
# 271
return cudaMemcpyFromSymbolAsync(dst, (const char *)(&symbol), count, offset, kind, stream); 
# 272
} 
# 274
static inline cudaError_t cudaGetSymbolAddress(void **
# 275
devPtr, char *
# 276
symbol) 
# 278
{ 
# 279
return cudaGetSymbolAddress(devPtr, (const char *)symbol); 
# 280
} 
# 304
template<class T> inline cudaError_t 
# 305
cudaGetSymbolAddress(void **
# 306
devPtr, const T &
# 307
symbol) 
# 309
{ 
# 310
return cudaGetSymbolAddress(devPtr, (const char *)(&symbol)); 
# 311
} 
# 319
static inline cudaError_t cudaGetSymbolSize(size_t *
# 320
size, char *
# 321
symbol) 
# 323
{ 
# 324
return cudaGetSymbolSize(size, (const char *)symbol); 
# 325
} 
# 348
template<class T> inline cudaError_t 
# 349
cudaGetSymbolSize(size_t *
# 350
size, const T &
# 351
symbol) 
# 353
{ 
# 354
return cudaGetSymbolSize(size, (const char *)(&symbol)); 
# 355
} 
# 404
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 405
cudaBindTexture(size_t *
# 406
offset, const texture< T, dim, readMode>  &
# 407
tex, const void *
# 408
devPtr, const cudaChannelFormatDesc &
# 409
desc, size_t 
# 410
size = (((2147483647) * 2U) + 1U)) 
# 412
{ 
# 413
return cudaBindTexture(offset, &tex, devPtr, &desc, size); 
# 414
} 
# 448
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 449
cudaBindTexture(size_t *
# 450
offset, const texture< T, dim, readMode>  &
# 451
tex, const void *
# 452
devPtr, size_t 
# 453
size = (((2147483647) * 2U) + 1U)) 
# 455
{ 
# 456
return cudaBindTexture(offset, tex, devPtr, (tex.texture< T, dim, readMode> ::channelDesc), size); 
# 457
} 
# 503
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 504
cudaBindTexture2D(size_t *
# 505
offset, const texture< T, dim, readMode>  &
# 506
tex, const void *
# 507
devPtr, const cudaChannelFormatDesc &
# 508
desc, size_t 
# 509
width, size_t 
# 510
height, size_t 
# 511
pitch) 
# 513
{ 
# 514
return cudaBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch); 
# 515
} 
# 545
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 546
cudaBindTextureToArray(const texture< T, dim, readMode>  &
# 547
tex, const cudaArray *
# 548
array, const cudaChannelFormatDesc &
# 549
desc) 
# 551
{ 
# 552
return cudaBindTextureToArray(&tex, array, &desc); 
# 553
} 
# 582
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 583
cudaBindTextureToArray(const texture< T, dim, readMode>  &
# 584
tex, const cudaArray *
# 585
array) 
# 587
{ 
# 588
cudaChannelFormatDesc desc; 
# 589
cudaError_t err = cudaGetChannelDesc(&desc, array); 
# 591
return (err == (cudaSuccess)) ? cudaBindTextureToArray(tex, array, desc) : err; 
# 592
} 
# 620
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 621
cudaUnbindTexture(const texture< T, dim, readMode>  &
# 622
tex) 
# 624
{ 
# 625
return cudaUnbindTexture(&tex); 
# 626
} 
# 659
template<class T, int dim, cudaTextureReadMode readMode> inline cudaError_t 
# 660
cudaGetTextureAlignmentOffset(size_t *
# 661
offset, const texture< T, dim, readMode>  &
# 662
tex) 
# 664
{ 
# 665
return cudaGetTextureAlignmentOffset(offset, &tex); 
# 666
} 
# 716
template<class T> inline cudaError_t 
# 717
cudaFuncSetCacheConfig(T *
# 718
func, cudaFuncCache 
# 719
cacheConfig) 
# 721
{ 
# 722
return cudaFuncSetCacheConfig((const char *)func, cacheConfig); 
# 723
} 
# 758
template<class T> inline cudaError_t 
# 759
cudaLaunch(T *
# 760
entry) 
# 762
{ 
# 763
return cudaLaunch((const char *)entry); 
# 764
} 
# 795
template<class T> inline cudaError_t 
# 796
cudaFuncGetAttributes(cudaFuncAttributes *
# 797
attr, T *
# 798
entry) 
# 800
{ 
# 801
return cudaFuncGetAttributes(attr, (const char *)entry); 
# 802
} 
# 45 "/usr/include/stdio.h" 3
struct _IO_FILE; 
# 49
extern "C" { typedef _IO_FILE FILE; }
# 65 "/usr/include/stdio.h" 3
extern "C" { typedef _IO_FILE __FILE; }
# 95 "/usr/include/wchar.h" 3
extern "C" { typedef 
# 84
struct { 
# 85
int __count; 
# 87
union { 
# 89
unsigned __wch; 
# 93
char __wchb[4]; 
# 94
} __value; 
# 95
} __mbstate_t; }
# 26 "/usr/include/_G_config.h" 3
extern "C" { typedef 
# 23
struct { 
# 24
__off_t __pos; 
# 25
__mbstate_t __state; 
# 26
} _G_fpos_t; }
# 31
extern "C" { typedef 
# 28
struct { 
# 29
__off64_t __pos; 
# 30
__mbstate_t __state; 
# 31
} _G_fpos64_t; }
# 53 "/usr/include/_G_config.h" 3
extern "C" { typedef short _G_int16_t; }
# 54
extern "C" { typedef int _G_int32_t; }
# 55
extern "C" { typedef unsigned short _G_uint16_t; }
# 56
extern "C" { typedef unsigned _G_uint32_t; }
# 40 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stdarg.h" 3
extern "C" { typedef __builtin_va_list __gnuc_va_list; }
# 170 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE; 
# 180
extern "C" { typedef void _IO_lock_t; }
# 186
extern "C" { struct _IO_marker { 
# 187
_IO_marker *_next; 
# 188
_IO_FILE *_sbuf; 
# 192
int _pos; 
# 203 "/usr/include/libio.h" 3
}; }
# 206
enum __codecvt_result { 
# 208
__codecvt_ok, 
# 209
__codecvt_partial, 
# 210
__codecvt_error, 
# 211
__codecvt_noconv
# 212
}; 
# 271 "/usr/include/libio.h" 3
extern "C" { struct _IO_FILE { 
# 272
int _flags; 
# 277
char *_IO_read_ptr; 
# 278
char *_IO_read_end; 
# 279
char *_IO_read_base; 
# 280
char *_IO_write_base; 
# 281
char *_IO_write_ptr; 
# 282
char *_IO_write_end; 
# 283
char *_IO_buf_base; 
# 284
char *_IO_buf_end; 
# 286
char *_IO_save_base; 
# 287
char *_IO_backup_base; 
# 288
char *_IO_save_end; 
# 290
_IO_marker *_markers; 
# 292
_IO_FILE *_chain; 
# 294
int _fileno; 
# 298
int _flags2; 
# 300
__off_t _old_offset; 
# 304
unsigned short _cur_column; 
# 305
signed char _vtable_offset; 
# 306
char _shortbuf[1]; 
# 310
_IO_lock_t *_lock; 
# 319 "/usr/include/libio.h" 3
__off64_t _offset; 
# 328 "/usr/include/libio.h" 3
void *__pad1; 
# 329
void *__pad2; 
# 330
void *__pad3; 
# 331
void *__pad4; 
# 332
size_t __pad5; 
# 334
int _mode; 
# 336
char _unused2[((((15) * sizeof(int)) - ((4) * sizeof(void *))) - sizeof(size_t))]; 
# 338
}; }
# 344
struct _IO_FILE_plus; 
# 346
extern "C" { extern _IO_FILE_plus _IO_2_1_stdin_; } 
# 347
extern "C" { extern _IO_FILE_plus _IO_2_1_stdout_; } 
# 348
extern "C" { extern _IO_FILE_plus _IO_2_1_stderr_; } 
# 364 "/usr/include/libio.h" 3
extern "C" { typedef __ssize_t __io_read_fn(void *, char *, size_t); }
# 372
extern "C" { typedef __ssize_t __io_write_fn(void *, const char *, size_t); }
# 381
extern "C" { typedef int __io_seek_fn(void *, __off64_t *, int); }
# 384
extern "C" { typedef int __io_close_fn(void *); }
# 389
extern "C" { typedef __io_read_fn cookie_read_function_t; }
# 390
extern "C" { typedef __io_write_fn cookie_write_function_t; }
# 391
extern "C" { typedef __io_seek_fn cookie_seek_function_t; }
# 392
extern "C" { typedef __io_close_fn cookie_close_function_t; }
# 401
extern "C" { typedef 
# 396
struct { 
# 397
__io_read_fn *read; 
# 398
__io_write_fn *write; 
# 399
__io_seek_fn *seek; 
# 400
__io_close_fn *close; 
# 401
} _IO_cookie_io_functions_t; }
# 402
extern "C" { typedef _IO_cookie_io_functions_t cookie_io_functions_t; }
# 404
struct _IO_cookie_file; 
# 407
extern "C" void _IO_cookie_init(_IO_cookie_file *, int, void *, _IO_cookie_io_functions_t); 
# 416
extern "C" int __underflow(_IO_FILE *); 
# 417
extern "C" int __uflow(_IO_FILE *); 
# 418
extern "C" int __overflow(_IO_FILE *, int); 
# 460 "/usr/include/libio.h" 3
extern "C" int _IO_getc(_IO_FILE *); 
# 461
extern "C" int _IO_putc(int, _IO_FILE *); 
# 462
extern "C" int _IO_feof(_IO_FILE *) throw(); 
# 463
extern "C" int _IO_ferror(_IO_FILE *) throw(); 
# 465
extern "C" int _IO_peekc_locked(_IO_FILE *); 
# 471
extern "C" void _IO_flockfile(_IO_FILE *) throw(); 
# 472
extern "C" void _IO_funlockfile(_IO_FILE *) throw(); 
# 473
extern "C" int _IO_ftrylockfile(_IO_FILE *) throw(); 
# 490 "/usr/include/libio.h" 3
extern "C" int _IO_vfscanf(_IO_FILE *__restrict__, const char *__restrict__, __gnuc_va_list, int *__restrict__); 
# 492
extern "C" int _IO_vfprintf(_IO_FILE *__restrict__, const char *__restrict__, __gnuc_va_list); 
# 494
extern "C" __ssize_t _IO_padn(_IO_FILE *, int, __ssize_t); 
# 495
extern "C" size_t _IO_sgetn(_IO_FILE *, void *, size_t); 
# 497
extern "C" __off64_t _IO_seekoff(_IO_FILE *, __off64_t, int, int); 
# 498
extern "C" __off64_t _IO_seekpos(_IO_FILE *, __off64_t, int); 
# 500
extern "C" void _IO_free_backup_area(_IO_FILE *) throw(); 
# 80 "/usr/include/stdio.h" 3
extern "C" { typedef __gnuc_va_list va_list; }
# 91
extern "C" { typedef _G_fpos_t fpos_t; }
# 97
extern "C" { typedef _G_fpos64_t fpos64_t; }
# 145 "/usr/include/stdio.h" 3
extern "C" { extern _IO_FILE *stdin; } 
# 146
extern "C" { extern _IO_FILE *stdout; } 
# 147
extern "C" { extern _IO_FILE *stderr; } 
# 155
extern "C" int remove(const char *) throw(); 
# 157
extern "C" int rename(const char *, const char *) throw(); 
# 162
extern "C" int renameat(int, const char *, int, const char *) throw(); 
# 172
extern "C" FILE *tmpfile(); 
# 182 "/usr/include/stdio.h" 3
extern "C" FILE *tmpfile64(); 
# 186
extern "C" char *tmpnam(char *) throw(); 
# 192
extern "C" char *tmpnam_r(char *) throw(); 
# 204
extern "C" char *tempnam(const char *, const char *) throw() __attribute__((__malloc__)); 
# 214
extern "C" int fclose(FILE *); 
# 219
extern "C" int fflush(FILE *); 
# 229
extern "C" int fflush_unlocked(FILE *); 
# 239
extern "C" int fcloseall(); 
# 249
extern "C" FILE *fopen(const char *__restrict__, const char *__restrict__); 
# 255
extern "C" FILE *freopen(const char *__restrict__, const char *__restrict__, FILE *__restrict__); 
# 274 "/usr/include/stdio.h" 3
extern "C" FILE *fopen64(const char *__restrict__, const char *__restrict__); 
# 276
extern "C" FILE *freopen64(const char *__restrict__, const char *__restrict__, FILE *__restrict__); 
# 283
extern "C" FILE *fdopen(int, const char *) throw(); 
# 289
extern "C" FILE *fopencookie(void *__restrict__, const char *__restrict__, _IO_cookie_io_functions_t) throw(); 
# 296
extern "C" FILE *fmemopen(void *, size_t, const char *) throw(); 
# 302
extern "C" FILE *open_memstream(char **, size_t *) throw(); 
# 309
extern "C" void setbuf(FILE *__restrict__, char *__restrict__) throw(); 
# 313
extern "C" int setvbuf(FILE *__restrict__, char *__restrict__, int, size_t) throw(); 
# 320
extern "C" void setbuffer(FILE *__restrict__, char *__restrict__, size_t) throw(); 
# 324
extern "C" void setlinebuf(FILE *) throw(); 
# 333
extern "C" int fprintf(FILE *__restrict__, const char *__restrict__, ...); 
# 339
extern "C" int printf(const char *__restrict__, ...); 
# 341
extern "C" int sprintf(char *__restrict__, const char *__restrict__, ...) throw(); 
# 348
extern "C" int vfprintf(FILE *__restrict__, const char *__restrict__, __gnuc_va_list); 
# 354
extern "C" int vprintf(const char *__restrict__, __gnuc_va_list); 
# 356
extern "C" int vsprintf(char *__restrict__, const char *__restrict__, __gnuc_va_list) throw(); 
# 363
extern "C" int snprintf(char *__restrict__, size_t, const char *__restrict__, ...) throw(); 
# 367
extern "C" int vsnprintf(char *__restrict__, size_t, const char *__restrict__, __gnuc_va_list) throw(); 
# 376
extern "C" int vasprintf(char **__restrict__, const char *__restrict__, __gnuc_va_list) throw(); 
# 379
extern "C" int __asprintf(char **__restrict__, const char *__restrict__, ...) throw(); 
# 382
extern "C" int asprintf(char **__restrict__, const char *__restrict__, ...) throw(); 
# 394
extern "C" int vdprintf(int, const char *__restrict__, __gnuc_va_list); 
# 397
extern "C" int dprintf(int, const char *__restrict__, ...); 
# 407
extern "C" int fscanf(FILE *__restrict__, const char *__restrict__, ...); 
# 413
extern "C" int scanf(const char *__restrict__, ...); 
# 415
extern "C" int sscanf(const char *__restrict__, const char *__restrict__, ...) throw(); 
# 453 "/usr/include/stdio.h" 3
extern "C" int vfscanf(FILE *__restrict__, const char *__restrict__, __gnuc_va_list); 
# 461
extern "C" int vscanf(const char *__restrict__, __gnuc_va_list); 
# 465
extern "C" int vsscanf(const char *__restrict__, const char *__restrict__, __gnuc_va_list) throw(); 
# 513 "/usr/include/stdio.h" 3
extern "C" int fgetc(FILE *); 
# 514
extern "C" int getc(FILE *); 
# 520
extern "C" int getchar(); 
# 532
extern "C" int getc_unlocked(FILE *); 
# 533
extern "C" int getchar_unlocked(); 
# 543
extern "C" int fgetc_unlocked(FILE *); 
# 555
extern "C" int fputc(int, FILE *); 
# 556
extern "C" int putc(int, FILE *); 
# 562
extern "C" int putchar(int); 
# 576
extern "C" int fputc_unlocked(int, FILE *); 
# 584
extern "C" int putc_unlocked(int, FILE *); 
# 585
extern "C" int putchar_unlocked(int); 
# 592
extern "C" int getw(FILE *); 
# 595
extern "C" int putw(int, FILE *); 
# 604
extern "C" char *fgets(char *__restrict__, int, FILE *__restrict__); 
# 612
extern "C" char *gets(char *); 
# 622
extern "C" char *fgets_unlocked(char *__restrict__, int, FILE *__restrict__); 
# 638
extern "C" __ssize_t __getdelim(char **__restrict__, size_t *__restrict__, int, FILE *__restrict__); 
# 641
extern "C" __ssize_t getdelim(char **__restrict__, size_t *__restrict__, int, FILE *__restrict__); 
# 651
extern "C" __ssize_t getline(char **__restrict__, size_t *__restrict__, FILE *__restrict__); 
# 662
extern "C" int fputs(const char *__restrict__, FILE *__restrict__); 
# 668
extern "C" int puts(const char *); 
# 675
extern "C" int ungetc(int, FILE *); 
# 682
extern "C" size_t fread(void *__restrict__, size_t, size_t, FILE *__restrict__); 
# 688
extern "C" size_t fwrite(const void *__restrict__, size_t, size_t, FILE *__restrict__); 
# 699
extern "C" int fputs_unlocked(const char *__restrict__, FILE *__restrict__); 
# 710
extern "C" size_t fread_unlocked(void *__restrict__, size_t, size_t, FILE *__restrict__); 
# 712
extern "C" size_t fwrite_unlocked(const void *__restrict__, size_t, size_t, FILE *__restrict__); 
# 722
extern "C" int fseek(FILE *, long, int); 
# 727
extern "C" long ftell(FILE *); 
# 732
extern "C" void rewind(FILE *); 
# 746
extern "C" int fseeko(FILE *, __off_t, int); 
# 751
extern "C" __off_t ftello(FILE *); 
# 771 "/usr/include/stdio.h" 3
extern "C" int fgetpos(FILE *__restrict__, fpos_t *__restrict__); 
# 776
extern "C" int fsetpos(FILE *, const fpos_t *); 
# 791 "/usr/include/stdio.h" 3
extern "C" int fseeko64(FILE *, __off64_t, int); 
# 792
extern "C" __off64_t ftello64(FILE *); 
# 793
extern "C" int fgetpos64(FILE *__restrict__, fpos64_t *__restrict__); 
# 794
extern "C" int fsetpos64(FILE *, const fpos64_t *); 
# 799
extern "C" void clearerr(FILE *) throw(); 
# 801
extern "C" int feof(FILE *) throw(); 
# 803
extern "C" int ferror(FILE *) throw(); 
# 808
extern "C" void clearerr_unlocked(FILE *) throw(); 
# 809
extern "C" int feof_unlocked(FILE *) throw(); 
# 810
extern "C" int ferror_unlocked(FILE *) throw(); 
# 819
extern "C" void perror(const char *); 
# 27 "/usr/include/bits/sys_errlist.h" 3
extern "C" { extern int sys_nerr; } 
# 28
extern "C" { extern const char *const sys_errlist[]; } 
# 31
extern "C" { extern int _sys_nerr; } 
# 32
extern "C" { extern const char *const _sys_errlist[]; } 
# 831 "/usr/include/stdio.h" 3
extern "C" int fileno(FILE *) throw(); 
# 836
extern "C" int fileno_unlocked(FILE *) throw(); 
# 846
extern "C" FILE *popen(const char *, const char *); 
# 852
extern "C" int pclose(FILE *); 
# 858
extern "C" char *ctermid(char *) throw(); 
# 864
extern "C" char *cuserid(char *); 
# 869
struct obstack; 
# 872
extern "C" int obstack_printf(obstack *__restrict__, const char *__restrict__, ...) throw(); 
# 875
extern "C" int obstack_vprintf(obstack *__restrict__, const char *__restrict__, __gnuc_va_list) throw(); 
# 886
extern "C" void flockfile(FILE *) throw(); 
# 890
extern "C" int ftrylockfile(FILE *) throw(); 
# 893
extern "C" void funlockfile(FILE *) throw(); 
# 60 "/opt/cuda/C/common/inc/cutil.h"
enum CUTBoolean { 
# 62
CUTFalse, 
# 63
CUTTrue
# 64
}; 
# 72
extern "C" void cutFree(void *); 
# 90
extern "C" void cutCheckBankAccess(unsigned, unsigned, unsigned, unsigned, unsigned, unsigned, const char *, const int, const char *, const int); 
# 103
extern "C" char *cutFindFilePath(const char *, const char *); 
# 118
extern "C" CUTBoolean cutReadFilef(const char *, float **, unsigned *, bool = false); 
# 134
extern "C" CUTBoolean cutReadFiled(const char *, double **, unsigned *, bool = false); 
# 150
extern "C" CUTBoolean cutReadFilei(const char *, int **, unsigned *, bool = false); 
# 165
extern "C" CUTBoolean cutReadFileui(const char *, unsigned **, unsigned *, bool = false); 
# 181
extern "C" CUTBoolean cutReadFileb(const char *, char **, unsigned *, bool = false); 
# 197
extern "C" CUTBoolean cutReadFileub(const char *, unsigned char **, unsigned *, bool = false); 
# 211
extern "C" CUTBoolean cutWriteFilef(const char *, const float *, unsigned, const float, bool = false); 
# 225
extern "C" CUTBoolean cutWriteFiled(const char *, const float *, unsigned, const double, bool = false); 
# 237
extern "C" CUTBoolean cutWriteFilei(const char *, const int *, unsigned, bool = false); 
# 249
extern "C" CUTBoolean cutWriteFileui(const char *, const unsigned *, unsigned, bool = false); 
# 261
extern "C" CUTBoolean cutWriteFileb(const char *, const char *, unsigned, bool = false); 
# 273
extern "C" CUTBoolean cutWriteFileub(const char *, const unsigned char *, unsigned, bool = false); 
# 289
extern "C" CUTBoolean cutLoadPGMub(const char *, unsigned char **, unsigned *, unsigned *); 
# 302
extern "C" CUTBoolean cutLoadPPMub(const char *, unsigned char **, unsigned *, unsigned *); 
# 316
extern "C" CUTBoolean cutLoadPPM4ub(const char *, unsigned char **, unsigned *, unsigned *); 
# 332
extern "C" CUTBoolean cutLoadPGMi(const char *, unsigned **, unsigned *, unsigned *); 
# 348
extern "C" CUTBoolean cutLoadPGMs(const char *, unsigned short **, unsigned *, unsigned *); 
# 363
extern "C" CUTBoolean cutLoadPGMf(const char *, float **, unsigned *, unsigned *); 
# 375
extern "C" CUTBoolean cutSavePGMub(const char *, unsigned char *, unsigned, unsigned); 
# 387
extern "C" CUTBoolean cutSavePPMub(const char *, unsigned char *, unsigned, unsigned); 
# 400
extern "C" CUTBoolean cutSavePPM4ub(const char *, unsigned char *, unsigned, unsigned); 
# 412
extern "C" CUTBoolean cutSavePGMi(const char *, unsigned *, unsigned, unsigned); 
# 424
extern "C" CUTBoolean cutSavePGMs(const char *, unsigned short *, unsigned, unsigned); 
# 436
extern "C" CUTBoolean cutSavePGMf(const char *, float *, unsigned, unsigned); 
# 457
extern "C" CUTBoolean cutCheckCmdLineFlag(const int, const char **, const char *); 
# 471
extern "C" CUTBoolean cutGetCmdLineArgumenti(const int, const char **, const char *, int *); 
# 485
extern "C" CUTBoolean cutGetCmdLineArgumentf(const int, const char **, const char *, float *); 
# 499
extern "C" CUTBoolean cutGetCmdLineArgumentstr(const int, const char **, const char *, char **); 
# 514
extern "C" CUTBoolean cutGetCmdLineArgumentListstr(const int, const char **, const char *, char **, unsigned *); 
# 528
extern "C" CUTBoolean cutCheckCondition(int, const char *, const int); 
# 540
extern "C" CUTBoolean cutComparef(const float *, const float *, const unsigned); 
# 553
extern "C" CUTBoolean cutComparei(const int *, const int *, const unsigned); 
# 567
extern "C" CUTBoolean cutCompareuit(const unsigned *, const unsigned *, const unsigned, const float, const float); 
# 580
extern "C" CUTBoolean cutCompareub(const unsigned char *, const unsigned char *, const unsigned); 
# 595
extern "C" CUTBoolean cutCompareubt(const unsigned char *, const unsigned char *, const unsigned, const float, const float); 
# 609
extern "C" CUTBoolean cutCompareube(const unsigned char *, const unsigned char *, const unsigned, const float); 
# 623
extern "C" CUTBoolean cutComparefe(const float *, const float *, const unsigned, const float); 
# 638
extern "C" CUTBoolean cutComparefet(const float *, const float *, const unsigned, const float, const float); 
# 653
extern "C" CUTBoolean cutCompareL2fe(const float *, const float *, const unsigned, const float); 
# 668
extern "C" CUTBoolean cutComparePPM(const char *, const char *, const float, const float, bool = false); 
# 681
extern "C" CUTBoolean cutCreateTimer(unsigned *); 
# 690
extern "C" CUTBoolean cutDeleteTimer(unsigned); 
# 698
extern "C" CUTBoolean cutStartTimer(const unsigned); 
# 706
extern "C" CUTBoolean cutStopTimer(const unsigned); 
# 714
extern "C" CUTBoolean cutResetTimer(const unsigned); 
# 723
extern "C" float cutGetTimerValue(const unsigned); 
# 734
extern "C" float cutGetAverageTimerValue(const unsigned); 
# 62 "/opt/cuda/bin/../include/cuda.h"
extern "C" { typedef unsigned CUdeviceptr; }
# 64
extern "C" { typedef int CUdevice; }
# 65
extern "C" { typedef struct CUctx_st *CUcontext; }
# 66
extern "C" { typedef struct CUmod_st *CUmodule; }
# 67
extern "C" { typedef struct CUfunc_st *CUfunction; }
# 68
extern "C" { typedef struct CUarray_st *CUarray; }
# 69
extern "C" { typedef struct CUtexref_st *CUtexref; }
# 70
extern "C" { typedef struct CUevent_st *CUevent; }
# 71
extern "C" { typedef struct CUstream_st *CUstream; }
# 72
extern "C" { typedef struct CUgraphicsResource_st *CUgraphicsResource; }
# 76
extern "C" { typedef 
# 74
struct CUuuid_st { 
# 75
char bytes[16]; 
# 76
} CUuuid; }
# 96
extern "C" { typedef 
# 87
enum CUctx_flags_enum { 
# 88
CU_CTX_SCHED_AUTO, 
# 89
CU_CTX_SCHED_SPIN, 
# 90
CU_CTX_SCHED_YIELD, 
# 91
CU_CTX_SCHED_MASK, 
# 92
CU_CTX_BLOCKING_SYNC, 
# 93
CU_CTX_MAP_HOST = 8, 
# 94
CU_CTX_LMEM_RESIZE_TO_MAX = 16, 
# 95
CU_CTX_FLAGS_MASK = 31
# 96
} CUctx_flags; }
# 104
extern "C" { typedef 
# 101
enum CUevent_flags_enum { 
# 102
CU_EVENT_DEFAULT, 
# 103
CU_EVENT_BLOCKING_SYNC
# 104
} CUevent_flags; }
# 118
extern "C" { typedef 
# 109
enum CUarray_format_enum { 
# 110
CU_AD_FORMAT_UNSIGNED_INT8 = 1, 
# 111
CU_AD_FORMAT_UNSIGNED_INT16, 
# 112
CU_AD_FORMAT_UNSIGNED_INT32, 
# 113
CU_AD_FORMAT_SIGNED_INT8 = 8, 
# 114
CU_AD_FORMAT_SIGNED_INT16, 
# 115
CU_AD_FORMAT_SIGNED_INT32, 
# 116
CU_AD_FORMAT_HALF = 16, 
# 117
CU_AD_FORMAT_FLOAT = 32
# 118
} CUarray_format; }
# 127
extern "C" { typedef 
# 123
enum CUaddress_mode_enum { 
# 124
CU_TR_ADDRESS_MODE_WRAP, 
# 125
CU_TR_ADDRESS_MODE_CLAMP, 
# 126
CU_TR_ADDRESS_MODE_MIRROR
# 127
} CUaddress_mode; }
# 135
extern "C" { typedef 
# 132
enum CUfilter_mode_enum { 
# 133
CU_TR_FILTER_MODE_POINT, 
# 134
CU_TR_FILTER_MODE_LINEAR
# 135
} CUfilter_mode; }
# 176
extern "C" { typedef 
# 140
enum CUdevice_attribute_enum { 
# 141
CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1, 
# 142
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X, 
# 143
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y, 
# 144
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z, 
# 145
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X, 
# 146
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y, 
# 147
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z, 
# 148
CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK, 
# 149
CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8, 
# 150
CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY, 
# 151
CU_DEVICE_ATTRIBUTE_WARP_SIZE, 
# 152
CU_DEVICE_ATTRIBUTE_MAX_PITCH, 
# 153
CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK, 
# 154
CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12, 
# 155
CU_DEVICE_ATTRIBUTE_CLOCK_RATE, 
# 156
CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT, 
# 158
CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, 
# 159
CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT, 
# 160
CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT, 
# 161
CU_DEVICE_ATTRIBUTE_INTEGRATED, 
# 162
CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY, 
# 163
CU_DEVICE_ATTRIBUTE_COMPUTE_MODE, 
# 164
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH, 
# 165
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH, 
# 166
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT, 
# 167
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH, 
# 168
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT, 
# 169
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH, 
# 170
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH, 
# 171
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT, 
# 172
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES, 
# 173
CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT, 
# 174
CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS, 
# 175
CU_DEVICE_ATTRIBUTE_ECC_ENABLED
# 176
} CUdevice_attribute; }
# 192
extern "C" { typedef 
# 181
struct CUdevprop_st { 
# 182
int maxThreadsPerBlock; 
# 183
int maxThreadsDim[3]; 
# 184
int maxGridSize[3]; 
# 185
int sharedMemPerBlock; 
# 186
int totalConstantMemory; 
# 187
int SIMDWidth; 
# 188
int memPitch; 
# 189
int regsPerBlock; 
# 190
int clockRate; 
# 191
int textureAlign; 
# 192
} CUdevprop; }
# 239
extern "C" { typedef 
# 197
enum CUfunction_attribute_enum { 
# 203
CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK, 
# 210
CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES, 
# 216
CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES, 
# 221
CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES, 
# 226
CU_FUNC_ATTRIBUTE_NUM_REGS, 
# 231
CU_FUNC_ATTRIBUTE_PTX_VERSION, 
# 236
CU_FUNC_ATTRIBUTE_BINARY_VERSION, 
# 238
CU_FUNC_ATTRIBUTE_MAX
# 239
} CUfunction_attribute; }
# 248
extern "C" { typedef 
# 244
enum CUfunc_cache_enum { 
# 245
CU_FUNC_CACHE_PREFER_NONE, 
# 246
CU_FUNC_CACHE_PREFER_SHARED, 
# 247
CU_FUNC_CACHE_PREFER_L1
# 248
} CUfunc_cache; }
# 257
extern "C" { typedef 
# 253
enum CUmemorytype_enum { 
# 254
CU_MEMORYTYPE_HOST = 1, 
# 255
CU_MEMORYTYPE_DEVICE, 
# 256
CU_MEMORYTYPE_ARRAY
# 257
} CUmemorytype; }
# 266
extern "C" { typedef 
# 262
enum CUcomputemode_enum { 
# 263
CU_COMPUTEMODE_DEFAULT, 
# 264
CU_COMPUTEMODE_EXCLUSIVE, 
# 265
CU_COMPUTEMODE_PROHIBITED
# 266
} CUcomputemode; }
# 358
extern "C" { typedef 
# 271
enum CUjit_option_enum { 
# 277
CU_JIT_MAX_REGISTERS, 
# 290
CU_JIT_THREADS_PER_BLOCK, 
# 297
CU_JIT_WALL_TIME, 
# 305
CU_JIT_INFO_LOG_BUFFER, 
# 313
CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES, 
# 321
CU_JIT_ERROR_LOG_BUFFER, 
# 329
CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES, 
# 336
CU_JIT_OPTIMIZATION_LEVEL, 
# 343
CU_JIT_TARGET_FROM_CUCONTEXT, 
# 349
CU_JIT_TARGET, 
# 356
CU_JIT_FALLBACK_STRATEGY
# 358
} CUjit_option; }
# 370
extern "C" { typedef 
# 363
enum CUjit_target_enum { 
# 365
CU_TARGET_COMPUTE_10, 
# 366
CU_TARGET_COMPUTE_11, 
# 367
CU_TARGET_COMPUTE_12, 
# 368
CU_TARGET_COMPUTE_13, 
# 369
CU_TARGET_COMPUTE_20
# 370
} CUjit_target; }
# 383
extern "C" { typedef 
# 375
enum CUjit_fallback_enum { 
# 378
CU_PREFER_PTX, 
# 381
CU_PREFER_BINARY
# 383
} CUjit_fallback; }
# 390
extern "C" { typedef 
# 388
enum CUgraphicsRegisterFlags_enum { 
# 389
CU_GRAPHICS_REGISTER_FLAGS_NONE
# 390
} CUgraphicsRegisterFlags; }
# 399
extern "C" { typedef 
# 395
enum CUgraphicsMapResourceFlags_enum { 
# 396
CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE, 
# 397
CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY, 
# 398
CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
# 399
} CUgraphicsMapResourceFlags; }
# 411
extern "C" { typedef 
# 404
enum CUarray_cubemap_face_enum { 
# 405
CU_CUBEMAP_FACE_POSITIVE_X, 
# 406
CU_CUBEMAP_FACE_NEGATIVE_X, 
# 407
CU_CUBEMAP_FACE_POSITIVE_Y, 
# 408
CU_CUBEMAP_FACE_NEGATIVE_Y, 
# 409
CU_CUBEMAP_FACE_POSITIVE_Z, 
# 410
CU_CUBEMAP_FACE_NEGATIVE_Z
# 411
} CUarray_cubemap_face; }
# 465
extern "C" { typedef 
# 422
enum cudaError_enum { 
# 424
CUDA_SUCCESS, 
# 425
CUDA_ERROR_INVALID_VALUE, 
# 426
CUDA_ERROR_OUT_OF_MEMORY, 
# 427
CUDA_ERROR_NOT_INITIALIZED, 
# 428
CUDA_ERROR_DEINITIALIZED, 
# 430
CUDA_ERROR_NO_DEVICE = 100, 
# 431
CUDA_ERROR_INVALID_DEVICE, 
# 433
CUDA_ERROR_INVALID_IMAGE = 200, 
# 434
CUDA_ERROR_INVALID_CONTEXT, 
# 435
CUDA_ERROR_CONTEXT_ALREADY_CURRENT, 
# 436
CUDA_ERROR_MAP_FAILED = 205, 
# 437
CUDA_ERROR_UNMAP_FAILED, 
# 438
CUDA_ERROR_ARRAY_IS_MAPPED, 
# 439
CUDA_ERROR_ALREADY_MAPPED, 
# 440
CUDA_ERROR_NO_BINARY_FOR_GPU, 
# 441
CUDA_ERROR_ALREADY_ACQUIRED, 
# 442
CUDA_ERROR_NOT_MAPPED, 
# 443
CUDA_ERROR_NOT_MAPPED_AS_ARRAY, 
# 444
CUDA_ERROR_NOT_MAPPED_AS_POINTER, 
# 445
CUDA_ERROR_ECC_UNCORRECTABLE, 
# 447
CUDA_ERROR_INVALID_SOURCE = 300, 
# 448
CUDA_ERROR_FILE_NOT_FOUND, 
# 450
CUDA_ERROR_INVALID_HANDLE = 400, 
# 452
CUDA_ERROR_NOT_FOUND = 500, 
# 454
CUDA_ERROR_NOT_READY = 600, 
# 456
CUDA_ERROR_LAUNCH_FAILED = 700, 
# 457
CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES, 
# 458
CUDA_ERROR_LAUNCH_TIMEOUT, 
# 459
CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING, 
# 461
CUDA_ERROR_POINTER_IS_64BIT = 800, 
# 462
CUDA_ERROR_SIZE_IS_64BIT, 
# 464
CUDA_ERROR_UNKNOWN = 999
# 465
} CUresult; }
# 511
extern "C" { typedef 
# 491
struct CUDA_MEMCPY2D_st { 
# 493
unsigned srcXInBytes, 
# 494
srcY; 
# 495
CUmemorytype srcMemoryType; 
# 496
const void *srcHost; 
# 497
CUdeviceptr srcDevice; 
# 498
CUarray srcArray; 
# 499
unsigned srcPitch; 
# 501
unsigned dstXInBytes, 
# 502
dstY; 
# 503
CUmemorytype dstMemoryType; 
# 504
void *dstHost; 
# 505
CUdeviceptr dstDevice; 
# 506
CUarray dstArray; 
# 507
unsigned dstPitch; 
# 509
unsigned WidthInBytes; 
# 510
unsigned Height; 
# 511
} CUDA_MEMCPY2D; }
# 545
extern "C" { typedef 
# 516
struct CUDA_MEMCPY3D_st { 
# 518
unsigned srcXInBytes, 
# 519
srcY, 
# 520
srcZ; 
# 521
unsigned srcLOD; 
# 522
CUmemorytype srcMemoryType; 
# 523
const void *srcHost; 
# 524
CUdeviceptr srcDevice; 
# 525
CUarray srcArray; 
# 526
void *reserved0; 
# 527
unsigned srcPitch; 
# 528
unsigned srcHeight; 
# 530
unsigned dstXInBytes, 
# 531
dstY, 
# 532
dstZ; 
# 533
unsigned dstLOD; 
# 534
CUmemorytype dstMemoryType; 
# 535
void *dstHost; 
# 536
CUdeviceptr dstDevice; 
# 537
CUarray dstArray; 
# 538
void *reserved1; 
# 539
unsigned dstPitch; 
# 540
unsigned dstHeight; 
# 542
unsigned WidthInBytes; 
# 543
unsigned Height; 
# 544
unsigned Depth; 
# 545
} CUDA_MEMCPY3D; }
# 558
extern "C" { typedef 
# 551
struct { 
# 552
unsigned Width; 
# 553
unsigned Height; 
# 555
CUarray_format Format; 
# 557
unsigned NumChannels; 
# 558
} CUDA_ARRAY_DESCRIPTOR; }
# 574
extern "C" { typedef 
# 564
struct { 
# 565
unsigned Width; 
# 566
unsigned Height; 
# 567
unsigned Depth; 
# 569
CUarray_format Format; 
# 571
unsigned NumChannels; 
# 573
unsigned Flags; 
# 574
} CUDA_ARRAY3D_DESCRIPTOR; }
# 618
extern "C" CUresult cuInit(unsigned); 
# 623
extern "C" CUresult cuDriverGetVersion(int *); 
# 631
extern "C" CUresult cuDeviceGet(CUdevice *, int); 
# 632
extern "C" CUresult cuDeviceGetCount(int *); 
# 633
extern "C" CUresult cuDeviceGetName(char *, int, CUdevice); 
# 634
extern "C" CUresult cuDeviceComputeCapability(int *, int *, CUdevice); 
# 635
extern "C" CUresult cuDeviceTotalMem(unsigned *, CUdevice); 
# 636
extern "C" CUresult cuDeviceGetProperties(CUdevprop *, CUdevice); 
# 637
extern "C" CUresult cuDeviceGetAttribute(int *, CUdevice_attribute, CUdevice); 
# 645
extern "C" CUresult cuCtxCreate(CUcontext *, unsigned, CUdevice); 
# 646
extern "C" CUresult cuCtxDestroy(CUcontext); 
# 647
extern "C" CUresult cuCtxAttach(CUcontext *, unsigned); 
# 648
extern "C" CUresult cuCtxDetach(CUcontext); 
# 649
extern "C" CUresult cuCtxPushCurrent(CUcontext); 
# 650
extern "C" CUresult cuCtxPopCurrent(CUcontext *); 
# 651
extern "C" CUresult cuCtxGetDevice(CUdevice *); 
# 652
extern "C" CUresult cuCtxSynchronize(); 
# 661
extern "C" CUresult cuModuleLoad(CUmodule *, const char *); 
# 662
extern "C" CUresult cuModuleLoadData(CUmodule *, const void *); 
# 663
extern "C" CUresult cuModuleLoadDataEx(CUmodule *, const void *, unsigned, CUjit_option *, void **); 
# 664
extern "C" CUresult cuModuleLoadFatBinary(CUmodule *, const void *); 
# 665
extern "C" CUresult cuModuleUnload(CUmodule); 
# 666
extern "C" CUresult cuModuleGetFunction(CUfunction *, CUmodule, const char *); 
# 667
extern "C" CUresult cuModuleGetGlobal(CUdeviceptr *, unsigned *, CUmodule, const char *); 
# 668
extern "C" CUresult cuModuleGetTexRef(CUtexref *, CUmodule, const char *); 
# 676
extern "C" CUresult cuMemGetInfo(unsigned *, unsigned *); 
# 678
extern "C" CUresult cuMemAlloc(CUdeviceptr *, unsigned); 
# 679
extern "C" CUresult cuMemAllocPitch(CUdeviceptr *, unsigned *, unsigned, unsigned, unsigned); 
# 687
extern "C" CUresult cuMemFree(CUdeviceptr); 
# 688
extern "C" CUresult cuMemGetAddressRange(CUdeviceptr *, unsigned *, CUdeviceptr); 
# 690
extern "C" CUresult cuMemAllocHost(void **, unsigned); 
# 691
extern "C" CUresult cuMemFreeHost(void *); 
# 693
extern "C" CUresult cuMemHostAlloc(void **, size_t, unsigned); 
# 695
extern "C" CUresult cuMemHostGetDevicePointer(CUdeviceptr *, void *, unsigned); 
# 696
extern "C" CUresult cuMemHostGetFlags(unsigned *, void *); 
# 709
extern "C" CUresult cuMemcpyHtoD(CUdeviceptr, const void *, unsigned); 
# 710
extern "C" CUresult cuMemcpyDtoH(void *, CUdeviceptr, unsigned); 
# 713
extern "C" CUresult cuMemcpyDtoD(CUdeviceptr, CUdeviceptr, unsigned); 
# 716
extern "C" CUresult cuMemcpyDtoA(CUarray, unsigned, CUdeviceptr, unsigned); 
# 717
extern "C" CUresult cuMemcpyAtoD(CUdeviceptr, CUarray, unsigned, unsigned); 
# 720
extern "C" CUresult cuMemcpyHtoA(CUarray, unsigned, const void *, unsigned); 
# 721
extern "C" CUresult cuMemcpyAtoH(void *, CUarray, unsigned, unsigned); 
# 724
extern "C" CUresult cuMemcpyAtoA(CUarray, unsigned, CUarray, unsigned, unsigned); 
# 728
extern "C" CUresult cuMemcpy2D(const CUDA_MEMCPY2D *); 
# 729
extern "C" CUresult cuMemcpy2DUnaligned(const CUDA_MEMCPY2D *); 
# 733
extern "C" CUresult cuMemcpy3D(const CUDA_MEMCPY3D *); 
# 748
extern "C" CUresult cuMemcpyHtoDAsync(CUdeviceptr, const void *, unsigned, CUstream); 
# 750
extern "C" CUresult cuMemcpyDtoHAsync(void *, CUdeviceptr, unsigned, CUstream); 
# 754
extern "C" CUresult cuMemcpyDtoDAsync(CUdeviceptr, CUdeviceptr, unsigned, CUstream); 
# 758
extern "C" CUresult cuMemcpyHtoAAsync(CUarray, unsigned, const void *, unsigned, CUstream); 
# 760
extern "C" CUresult cuMemcpyAtoHAsync(void *, CUarray, unsigned, unsigned, CUstream); 
# 764
extern "C" CUresult cuMemcpy2DAsync(const CUDA_MEMCPY2D *, CUstream); 
# 767
extern "C" CUresult cuMemcpy3DAsync(const CUDA_MEMCPY3D *, CUstream); 
# 774
extern "C" CUresult cuMemsetD8(CUdeviceptr, unsigned char, unsigned); 
# 775
extern "C" CUresult cuMemsetD16(CUdeviceptr, unsigned short, unsigned); 
# 776
extern "C" CUresult cuMemsetD32(CUdeviceptr, unsigned, unsigned); 
# 778
extern "C" CUresult cuMemsetD2D8(CUdeviceptr, unsigned, unsigned char, unsigned, unsigned); 
# 779
extern "C" CUresult cuMemsetD2D16(CUdeviceptr, unsigned, unsigned short, unsigned, unsigned); 
# 780
extern "C" CUresult cuMemsetD2D32(CUdeviceptr, unsigned, unsigned, unsigned, unsigned); 
# 789
extern "C" CUresult cuFuncSetBlockShape(CUfunction, int, int, int); 
# 790
extern "C" CUresult cuFuncSetSharedSize(CUfunction, unsigned); 
# 791
extern "C" CUresult cuFuncGetAttribute(int *, CUfunction_attribute, CUfunction); 
# 792
extern "C" CUresult cuFuncSetCacheConfig(CUfunction, CUfunc_cache); 
# 800
extern "C" CUresult cuArrayCreate(CUarray *, const CUDA_ARRAY_DESCRIPTOR *); 
# 801
extern "C" CUresult cuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR *, CUarray); 
# 802
extern "C" CUresult cuArrayDestroy(CUarray); 
# 804
extern "C" CUresult cuArray3DCreate(CUarray *, const CUDA_ARRAY3D_DESCRIPTOR *); 
# 805
extern "C" CUresult cuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR *, CUarray); 
# 813
extern "C" CUresult cuTexRefCreate(CUtexref *); 
# 814
extern "C" CUresult cuTexRefDestroy(CUtexref); 
# 816
extern "C" CUresult cuTexRefSetArray(CUtexref, CUarray, unsigned); 
# 817
extern "C" CUresult cuTexRefSetAddress(unsigned *, CUtexref, CUdeviceptr, unsigned); 
# 818
extern "C" CUresult cuTexRefSetAddress2D(CUtexref, const CUDA_ARRAY_DESCRIPTOR *, CUdeviceptr, unsigned); 
# 819
extern "C" CUresult cuTexRefSetFormat(CUtexref, CUarray_format, int); 
# 820
extern "C" CUresult cuTexRefSetAddressMode(CUtexref, int, CUaddress_mode); 
# 821
extern "C" CUresult cuTexRefSetFilterMode(CUtexref, CUfilter_mode); 
# 822
extern "C" CUresult cuTexRefSetFlags(CUtexref, unsigned); 
# 824
extern "C" CUresult cuTexRefGetAddress(CUdeviceptr *, CUtexref); 
# 825
extern "C" CUresult cuTexRefGetArray(CUarray *, CUtexref); 
# 826
extern "C" CUresult cuTexRefGetAddressMode(CUaddress_mode *, CUtexref, int); 
# 827
extern "C" CUresult cuTexRefGetFilterMode(CUfilter_mode *, CUtexref); 
# 828
extern "C" CUresult cuTexRefGetFormat(CUarray_format *, int *, CUtexref); 
# 829
extern "C" CUresult cuTexRefGetFlags(unsigned *, CUtexref); 
# 837
extern "C" CUresult cuParamSetSize(CUfunction, unsigned); 
# 838
extern "C" CUresult cuParamSeti(CUfunction, int, unsigned); 
# 839
extern "C" CUresult cuParamSetf(CUfunction, int, float); 
# 840
extern "C" CUresult cuParamSetv(CUfunction, int, void *, unsigned); 
# 841
extern "C" CUresult cuParamSetTexRef(CUfunction, int, CUtexref); 
# 849
extern "C" CUresult cuLaunch(CUfunction); 
# 850
extern "C" CUresult cuLaunchGrid(CUfunction, int, int); 
# 851
extern "C" CUresult cuLaunchGridAsync(CUfunction, int, int, CUstream); 
# 858
extern "C" CUresult cuEventCreate(CUevent *, unsigned); 
# 859
extern "C" CUresult cuEventRecord(CUevent, CUstream); 
# 860
extern "C" CUresult cuEventQuery(CUevent); 
# 861
extern "C" CUresult cuEventSynchronize(CUevent); 
# 862
extern "C" CUresult cuEventDestroy(CUevent); 
# 863
extern "C" CUresult cuEventElapsedTime(float *, CUevent, CUevent); 
# 870
extern "C" CUresult cuStreamCreate(CUstream *, unsigned); 
# 871
extern "C" CUresult cuStreamQuery(CUstream); 
# 872
extern "C" CUresult cuStreamSynchronize(CUstream); 
# 873
extern "C" CUresult cuStreamDestroy(CUstream); 
# 880
extern "C" CUresult cuGraphicsUnregisterResource(CUgraphicsResource); 
# 881
extern "C" CUresult cuGraphicsSubResourceGetMappedArray(CUarray *, CUgraphicsResource, unsigned, unsigned); 
# 882
extern "C" CUresult cuGraphicsResourceGetMappedPointer(CUdeviceptr *, unsigned *, CUgraphicsResource); 
# 883
extern "C" CUresult cuGraphicsResourceSetMapFlags(CUgraphicsResource, unsigned); 
# 884
extern "C" CUresult cuGraphicsMapResources(unsigned, CUgraphicsResource *, CUstream); 
# 885
extern "C" CUresult cuGraphicsUnmapResources(unsigned, CUgraphicsResource *, CUstream); 
# 892
extern "C" CUresult cuGetExportTable(const void **, const CUuuid *); 
# 30 "/opt/cuda/C/common/inc/cutil_inline_bankchecker.h"
inline void __cutilBankChecker(unsigned tidx, unsigned tidy, unsigned tidz, unsigned 
# 31
bdimx, unsigned bdimy, unsigned bdimz, char *
# 32
aname, int index, char *file, int line) 
# 33
{ 
# 34
cutCheckBankAccess(tidx, tidy, tidz, bdimx, bdimy, bdimz, file, line, aname, index); 
# 35
} 
# 162 "/opt/cuda/bin/../include/cuComplex.h"
extern "C" { typedef float2 cuFloatComplex; }
# 164
extern "C" { static inline float cuCrealf(cuFloatComplex x) 
# 165
{ 
# 166
return x.x; 
# 167
} } 
# 169
extern "C" { static inline float cuCimagf(cuFloatComplex x) 
# 170
{ 
# 171
return x.y; 
# 172
} } 
# 174
extern "C" { static inline cuFloatComplex make_cuFloatComplex(float 
# 175
r, float i) 
# 176
{ 
# 177
cuFloatComplex res; 
# 178
(res.x) = r; 
# 179
(res.y) = i; 
# 180
return res; 
# 181
} } 
# 183
extern "C" { static inline cuFloatComplex cuConjf(cuFloatComplex x) 
# 184
{ 
# 185
return make_cuFloatComplex(cuCrealf(x), -cuCimagf(x)); 
# 186
} } 
# 187
extern "C" { static inline cuFloatComplex cuCaddf(cuFloatComplex x, cuFloatComplex 
# 188
y) 
# 189
{ 
# 190
return make_cuFloatComplex(cuCrealf(x) + cuCrealf(y), cuCimagf(x) + cuCimagf(y)); 
# 192
} } 
# 194
extern "C" { static inline cuFloatComplex cuCsubf(cuFloatComplex x, cuFloatComplex 
# 195
y) 
# 196
{ 
# 197
return make_cuFloatComplex(cuCrealf(x) - cuCrealf(y), cuCimagf(x) - cuCimagf(y)); 
# 199
} } 
# 206
extern "C" { static inline cuFloatComplex cuCmulf(cuFloatComplex x, cuFloatComplex 
# 207
y) 
# 208
{ 
# 209
cuFloatComplex prod; 
# 210
prod = make_cuFloatComplex((cuCrealf(x) * cuCrealf(y)) - (cuCimagf(x) * cuCimagf(y)), (cuCrealf(x) * cuCimagf(y)) + (cuCimagf(x) * cuCrealf(y))); 
# 214
return prod; 
# 215
} } 
# 222
extern "C" { static inline cuFloatComplex cuCdivf(cuFloatComplex x, cuFloatComplex 
# 223
y) 
# 224
{ 
# 225
cuFloatComplex quot; 
# 226
float s = (fabsf(cuCrealf(y)) + fabsf(cuCimagf(y))); 
# 227
float oos = ((1.0F) / s); 
# 228
float ars = (cuCrealf(x) * oos); 
# 229
float ais = (cuCimagf(x) * oos); 
# 230
float brs = (cuCrealf(y) * oos); 
# 231
float bis = (cuCimagf(y) * oos); 
# 232
s = ((brs * brs) + (bis * bis)); 
# 233
oos = ((1.0F) / s); 
# 234
quot = make_cuFloatComplex(((ars * brs) + (ais * bis)) * oos, ((ais * brs) - (ars * bis)) * oos); 
# 236
return quot; 
# 237
} } 
# 247
extern "C" { static inline float cuCabsf(cuFloatComplex x) 
# 248
{ 
# 249
float a = cuCrealf(x); 
# 250
float b = cuCimagf(x); 
# 251
float v, w, t; 
# 252
a = fabsf(a); 
# 253
b = fabsf(b); 
# 254
if (a > b) { 
# 255
v = a; 
# 256
w = b; 
# 257
} else { 
# 258
v = b; 
# 259
w = a; 
# 260
}  
# 261
t = (w / v); 
# 262
t = ((1.0F) + (t * t)); 
# 263
t = (v * sqrtf(t)); 
# 264
if (((v == (0.0F)) || (v > (3.402823466e+38F))) || (w > (3.402823466e+38F))) { 
# 265
t = (v + w); 
# 266
}  
# 267
return t; 
# 268
} } 
# 271
extern "C" { typedef double2 cuDoubleComplex; }
# 273
extern "C" { static inline double cuCreal(cuDoubleComplex x) 
# 274
{ 
# 275
return x.x; 
# 276
} } 
# 278
extern "C" { static inline double cuCimag(cuDoubleComplex x) 
# 279
{ 
# 280
return x.y; 
# 281
} } 
# 283
extern "C" { static inline cuDoubleComplex make_cuDoubleComplex(double 
# 284
r, double i) 
# 285
{ 
# 286
cuDoubleComplex res; 
# 287
(res.x) = r; 
# 288
(res.y) = i; 
# 289
return res; 
# 290
} } 
# 292
extern "C" { static inline cuDoubleComplex cuConj(cuDoubleComplex x) 
# 293
{ 
# 294
return make_cuDoubleComplex(cuCreal(x), -cuCimag(x)); 
# 295
} } 
# 297
extern "C" { static inline cuDoubleComplex cuCadd(cuDoubleComplex x, cuDoubleComplex 
# 298
y) 
# 299
{ 
# 300
return make_cuDoubleComplex(cuCreal(x) + cuCreal(y), cuCimag(x) + cuCimag(y)); 
# 302
} } 
# 304
extern "C" { static inline cuDoubleComplex cuCsub(cuDoubleComplex x, cuDoubleComplex 
# 305
y) 
# 306
{ 
# 307
return make_cuDoubleComplex(cuCreal(x) - cuCreal(y), cuCimag(x) - cuCimag(y)); 
# 309
} } 
# 316
extern "C" { static inline cuDoubleComplex cuCmul(cuDoubleComplex x, cuDoubleComplex 
# 317
y) 
# 318
{ 
# 319
cuDoubleComplex prod; 
# 320
prod = make_cuDoubleComplex((cuCreal(x) * cuCreal(y)) - (cuCimag(x) * cuCimag(y)), (cuCreal(x) * cuCimag(y)) + (cuCimag(x) * cuCreal(y))); 
# 324
return prod; 
# 325
} } 
# 332
extern "C" { static inline cuDoubleComplex cuCdiv(cuDoubleComplex x, cuDoubleComplex 
# 333
y) 
# 334
{ 
# 335
cuDoubleComplex quot; 
# 336
double s = (fabs(cuCreal(y)) + fabs(cuCimag(y))); 
# 337
double oos = ((1.0) / s); 
# 338
double ars = (cuCreal(x) * oos); 
# 339
double ais = (cuCimag(x) * oos); 
# 340
double brs = (cuCreal(y) * oos); 
# 341
double bis = (cuCimag(y) * oos); 
# 342
s = ((brs * brs) + (bis * bis)); 
# 343
oos = ((1.0) / s); 
# 344
quot = make_cuDoubleComplex(((ars * brs) + (ais * bis)) * oos, ((ais * brs) - (ars * bis)) * oos); 
# 346
return quot; 
# 347
} } 
# 355
extern "C" { static inline double cuCabs(cuDoubleComplex x) 
# 356
{ 
# 357
double a = cuCreal(x); 
# 358
double b = cuCimag(x); 
# 359
double v, w, t; 
# 360
a = fabs(a); 
# 361
b = fabs(b); 
# 362
if (a > b) { 
# 363
v = a; 
# 364
w = b; 
# 365
} else { 
# 366
v = b; 
# 367
w = a; 
# 368
}  
# 369
t = (w / v); 
# 370
t = ((1.0) + (t * t)); 
# 371
t = (v * sqrt(t)); 
# 372
if (((v == (0.0)) || (v > (1.797693134862315708e+308))) || (w > (1.797693134862315708e+308))) 
# 373
{ 
# 374
t = (v + w); 
# 375
}  
# 376
return t; 
# 377
} } 
# 386
typedef cuFloatComplex cuComplex; 
# 387
static inline cuComplex make_cuComplex(float x, float 
# 388
y) 
# 389
{ 
# 390
return make_cuFloatComplex(x, y); 
# 391
} 
# 394
static inline cuDoubleComplex cuComplexFloatToDouble(cuFloatComplex 
# 395
c) 
# 396
{ 
# 397
return make_cuDoubleComplex((double)cuCrealf(c), (double)cuCimagf(c)); 
# 398
} 
# 400
static inline cuFloatComplex cuComplexDoubleToFloat(cuDoubleComplex 
# 401
c) 
# 402
{ 
# 403
return make_cuFloatComplex((float)cuCreal(c), (float)cuCimag(c)); 
# 404
} 
# 407
static inline cuComplex cuCfmaf(cuComplex x, cuComplex y, cuComplex d) 
# 408
{ 
# 409
float real_res; 
# 410
float imag_res; 
# 412
real_res = ((cuCrealf(x) * cuCrealf(y)) + cuCrealf(d)); 
# 413
imag_res = ((cuCrealf(x) * cuCimagf(y)) + cuCimagf(d)); 
# 415
real_res = ((-(cuCimagf(x) * cuCimagf(y))) + real_res); 
# 416
imag_res = ((cuCimagf(x) * cuCrealf(y)) + imag_res); 
# 418
return make_cuComplex(real_res, imag_res); 
# 419
} 
# 421
static inline cuDoubleComplex cuCfma(cuDoubleComplex x, cuDoubleComplex y, cuDoubleComplex d) 
# 422
{ 
# 423
double real_res; 
# 424
double imag_res; 
# 426
real_res = ((cuCreal(x) * cuCreal(y)) + cuCreal(d)); 
# 427
imag_res = ((cuCreal(x) * cuCimag(y)) + cuCimag(d)); 
# 429
real_res = ((-(cuCimag(x) * cuCimag(y))) + real_res); 
# 430
imag_res = ((cuCimag(x) * cuCreal(y)) + imag_res); 
# 432
return make_cuDoubleComplex(real_res, imag_res); 
# 433
} 
# 71 "/opt/cuda/bin/../include/cufft.h"
extern "C" { typedef 
# 61
enum cufftResult_t { 
# 62
CUFFT_SUCCESS, 
# 63
CUFFT_INVALID_PLAN, 
# 64
CUFFT_ALLOC_FAILED, 
# 65
CUFFT_INVALID_TYPE, 
# 66
CUFFT_INVALID_VALUE, 
# 67
CUFFT_INTERNAL_ERROR, 
# 68
CUFFT_EXEC_FAILED, 
# 69
CUFFT_SETUP_FAILED, 
# 70
CUFFT_INVALID_SIZE
# 71
} cufftResult; }
# 76
extern "C" { typedef unsigned cufftHandle; }
# 80
extern "C" { typedef float cufftReal; }
# 81
extern "C" { typedef double cufftDoubleReal; }
# 86
extern "C" { typedef cuComplex cufftComplex; }
# 87
extern "C" { typedef cuDoubleComplex cufftDoubleComplex; }
# 101
extern "C" { typedef 
# 94
enum cufftType_t { 
# 95
CUFFT_R2C = 42, 
# 96
CUFFT_C2R = 44, 
# 97
CUFFT_C2C = 41, 
# 98
CUFFT_D2Z = 106, 
# 99
CUFFT_Z2D = 108, 
# 100
CUFFT_Z2Z = 105
# 101
} cufftType; }
# 103
extern "C" cufftResult cufftPlan1d(cufftHandle *, int, cufftType, int); 
# 108
extern "C" cufftResult cufftPlan2d(cufftHandle *, int, int, cufftType); 
# 112
extern "C" cufftResult cufftPlan3d(cufftHandle *, int, int, int, cufftType); 
# 116
extern "C" cufftResult cufftPlanMany(cufftHandle *, int, int *, int *, int, int, int *, int, int, cufftType, int); 
# 124
extern "C" cufftResult cufftDestroy(cufftHandle); 
# 126
extern "C" cufftResult cufftExecC2C(cufftHandle, cufftComplex *, cufftComplex *, int); 
# 131
extern "C" cufftResult cufftExecR2C(cufftHandle, cufftReal *, cufftComplex *); 
# 135
extern "C" cufftResult cufftExecC2R(cufftHandle, cufftComplex *, cufftReal *); 
# 139
extern "C" cufftResult cufftExecZ2Z(cufftHandle, cufftDoubleComplex *, cufftDoubleComplex *, int); 
# 144
extern "C" cufftResult cufftExecD2Z(cufftHandle, cufftDoubleReal *, cufftDoubleComplex *); 
# 148
extern "C" cufftResult cufftExecZ2D(cufftHandle, cufftDoubleComplex *, cufftDoubleReal *); 
# 152
extern "C" cufftResult cufftSetStream(cufftHandle, cudaStream_t); 
# 43 "/opt/cuda/C/common/inc/cutil_inline_runtime.h"
inline void __cutilCondition(int val, char *file, int line) 
# 44
{ 
# 45
if ((CUTFalse) == (cutCheckCondition(val, file, line))) { 
# 46
exit(1); 
# 47
}  
# 48
} 
# 50
inline void __cutilExit(int argc, char **argv) 
# 51
{ 
# 52
if (!(cutCheckCmdLineFlag(argc, (const char **)argv, "noprompt"))) { 
# 53
printf("\nPress ENTER to exit...\n"); 
# 54
fflush(stdout); 
# 55
fflush(stderr); 
# 56
getchar(); 
# 57
}  
# 58
exit(0); 
# 59
} 
# 65
inline int cutGetMaxGflopsDeviceId() 
# 66
{ 
# 67
int current_device = 0, sm_per_multiproc = 0; 
# 68
int max_compute_perf = 0, max_perf_device = 0; 
# 69
int device_count = 0, best_SM_arch = 0; 
# 70
int arch_cores_sm[3] = {1, 8, 32}; 
# 71
cudaDeviceProp deviceProp; 
# 73
cudaGetDeviceCount(&device_count); 
# 75
while (current_device < device_count) { 
# 76
cudaGetDeviceProperties(&deviceProp, current_device); 
# 77
if (((deviceProp.major) > 0) && ((deviceProp.major) < 9999)) { 
# 78
best_SM_arch = ((best_SM_arch > (deviceProp.major)) ? best_SM_arch : (deviceProp.major)); 
# 79
}  
# 80
current_device++; 
# 81
}  
# 84
current_device = 0; 
# 85
while (current_device < device_count) { 
# 86
cudaGetDeviceProperties(&deviceProp, current_device); 
# 87
if (((deviceProp.major) == 9999) && ((deviceProp.minor) == 9999)) { 
# 88
sm_per_multiproc = 1; 
# 89
} else { if ((deviceProp.major) <= 2) { 
# 90
sm_per_multiproc = ((arch_cores_sm)[deviceProp.major]); 
# 91
} else { 
# 92
sm_per_multiproc = ((arch_cores_sm)[2]); 
# 93
}  }  
# 95
int compute_perf = (((deviceProp.multiProcessorCount) * sm_per_multiproc) * (deviceProp.clockRate)); 
# 96
if (compute_perf > max_compute_perf) { 
# 98
if (best_SM_arch > 2) { 
# 100
if ((deviceProp.major) == best_SM_arch) { 
# 101
max_compute_perf = compute_perf; 
# 102
max_perf_device = current_device; 
# 103
}  
# 104
} else { 
# 105
max_compute_perf = compute_perf; 
# 106
max_perf_device = current_device; 
# 107
}  
# 108
}  
# 109
++current_device; 
# 110
}  
# 111
return max_perf_device; 
# 112
} 
# 150 "/opt/cuda/C/common/inc/cutil_inline_runtime.h"
inline void __cudaSafeCallNoSync(cudaError err, const char *file, const int line) 
# 151
{ 
# 152
if ((cudaSuccess) != err) { 
# 153
fprintf(stderr, "%s(%i) : cudaSafeCallNoSync() Runtime API error : %s.\n", file, line, cudaGetErrorString(err)); 
# 155
exit(-1); 
# 156
}  
# 157
} 
# 159
inline void __cudaSafeCall(cudaError err, const char *file, const int line) 
# 160
{ 
# 161
if ((cudaSuccess) != err) { 
# 162
fprintf(stderr, "%s(%i) : cudaSafeCall() Runtime API error : %s.\n", file, line, cudaGetErrorString(err)); 
# 164
exit(-1); 
# 165
}  
# 166
} 
# 168
inline void __cudaSafeThreadSync(const char *file, const int line) 
# 169
{ 
# 170
cudaError err = cudaThreadSynchronize(); 
# 171
if ((cudaSuccess) != err) { 
# 172
fprintf(stderr, "%s(%i) : cudaThreadSynchronize() Driver API error : %s.\n", file, line, cudaGetErrorString(err)); 
# 174
exit(-1); 
# 175
}  
# 176
} 
# 178
inline void __cufftSafeCall(cufftResult err, const char *file, const int line) 
# 179
{ 
# 180
if ((CUFFT_SUCCESS) != err) { 
# 181
fprintf(stderr, "%s(%i) : cufftSafeCall() CUFFT error.\n", file, line); 
# 183
exit(-1); 
# 184
}  
# 185
} 
# 187
inline void __cutilCheckError(CUTBoolean err, const char *file, const int line) 
# 188
{ 
# 189
if ((CUTTrue) != err) { 
# 190
fprintf(stderr, "%s(%i) : CUTIL CUDA error.\n", file, line); 
# 192
exit(-1); 
# 193
}  
# 194
} 
# 196
inline void __cutilCheckMsg(const char *errorMessage, const char *file, const int line) 
# 197
{ 
# 198
cudaError_t err = cudaGetLastError(); 
# 199
if ((cudaSuccess) != err) { 
# 200
fprintf(stderr, "%s(%i) : cutilCheckMsg() CUTIL CUDA error : %s : %s.\n", file, line, errorMessage, cudaGetErrorString(err)); 
# 202
exit(-1); 
# 203
}  
# 212 "/opt/cuda/C/common/inc/cutil_inline_runtime.h"
} 
# 213
inline void __cutilSafeMalloc(void *pointer, const char *file, const int line) 
# 214
{ 
# 215
if (!(pointer)) { 
# 216
fprintf(stderr, "%s(%i) : cutilSafeMalloc host malloc failure\n", file, line); 
# 218
exit(-1); 
# 219
}  
# 220
} 
# 226
inline void cutilDeviceInit(int ARGC, char **ARGV) 
# 227
{ 
# 228
int deviceCount; 
# 229
__cudaSafeCallNoSync(cudaGetDeviceCount(&deviceCount), "/opt/cuda/C/common/inc/cutil_inline_runtime.h", 229); 
# 230
if (deviceCount == 0) { 
# 231
fprintf(stderr, "CUTIL CUDA error: no devices supporting CUDA.\n"); 
# 232
exit(-1); 
# 233
}  
# 234
int dev = 0; 
# 235
cutGetCmdLineArgumenti(ARGC, (const char **)ARGV, "device", &dev); 
# 236
if (dev < 0) { dev = 0; }  if (dev > (deviceCount - 1)) { dev = (deviceCount - 1); }  
# 238
cudaDeviceProp deviceProp; 
# 239
__cudaSafeCallNoSync(cudaGetDeviceProperties(&deviceProp, dev), "/opt/cuda/C/common/inc/cutil_inline_runtime.h", 239); 
# 240
if ((deviceProp.major) < 1) { 
# 241
fprintf(stderr, "cutil error: GPU device does not support CUDA.\n"); 
# 242
exit(-1); }  
# 244
if ((cutCheckCmdLineFlag(ARGC, (const char **)ARGV, "quiet")) == (CUTFalse)) { 
# 245
fprintf(stderr, "Using CUDA device [%d]: %s\n", dev, deviceProp.name); }  
# 246
__cudaSafeCall(cudaSetDevice(dev), "/opt/cuda/C/common/inc/cutil_inline_runtime.h", 246); 
# 247
} 
# 250
inline void cutilChooseCudaDevice(int argc, char **argv) 
# 251
{ 
# 253
if (cutCheckCmdLineFlag(argc, (const char **)argv, "device")) { 
# 254
cutilDeviceInit(argc, argv); 
# 255
} else { 
# 257
cudaSetDevice(cutGetMaxGflopsDeviceId()); 
# 258
}  
# 259
} 
# 264
inline void cutilCudaCheckCtxLost(const char *errorMessage, const char *file, const int line) 
# 265
{ 
# 266
cudaError_t err = cudaGetLastError(); 
# 267
if ((cudaSuccess) != err) { 
# 268
fprintf(stderr, "%s(%i) : CUDA error: %s : %s.\n", file, line, errorMessage, cudaGetErrorString(err)); 
# 270
exit(-1); 
# 271
}  
# 272
err = cudaThreadSynchronize(); 
# 273
if ((cudaSuccess) != err) { 
# 274
fprintf(stderr, "%s(%i) : CCUDA error: %s : %s.\n", file, line, errorMessage, cudaGetErrorString(err)); 
# 276
exit(-1); 
# 277
}  
# 278
} 
# 281
inline bool cutilCudaCapabilities(int major_version, int minor_version) 
# 282
{ 
# 283
cudaDeviceProp deviceProp; 
# 284
(deviceProp.major) = 0; 
# 285
(deviceProp.minor) = 0; 
# 286
int dev; 
# 292
__cudaSafeCall(cudaGetDevice(&dev), "/opt/cuda/C/common/inc/cutil_inline_runtime.h", 292); 
# 293
__cudaSafeCall(cudaGetDeviceProperties(&deviceProp, dev), "/opt/cuda/C/common/inc/cutil_inline_runtime.h", 293); 
# 295
if (((deviceProp.major) > major_version) || (((deviceProp.major) == major_version) && ((deviceProp.minor) >= minor_version))) 
# 297
{ 
# 298
printf("> Compute SM %d.%d Device Detected\n", deviceProp.major, deviceProp.minor); 
# 299
printf("> Device %d: <%s>\n", dev, deviceProp.name); 
# 300
return true; 
# 301
} else 
# 303
{ 
# 304
printf("There is no device supporting CUDA compute capability %d.%d.\n", major_version, minor_version); 
# 305
printf("PASSED\n"); 
# 306
return false; 
# 307
}  
# 308
} 
# 32 "/opt/cuda/C/common/inc/cutil_inline_drvapi.h"
inline int cutilDrvGetMaxGflopsDeviceId() 
# 33
{ 
# 34
CUdevice current_device = 0, max_perf_device = 0; 
# 35
int device_count = 0, sm_per_multiproc = 0; 
# 36
int max_compute_perf = 0, best_SM_arch = 0; 
# 37
int major = 0, minor = 0, multiProcessorCount, clockRate; 
# 38
int arch_cores_sm[3] = {1, 8, 32}; 
# 40
cuInit(0); 
# 41
{ CUresult err = cuDeviceGetCount(&device_count); if ((CUDA_SUCCESS) != err) { fprintf(stderr, "Cuda driver error %x in file \'%s\' in line %i.\n", err, "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 41); exit(1); }  } ; 
# 44
while (current_device < device_count) { 
# 45
{ CUresult err = cuDeviceComputeCapability(&major, &minor, current_device); if ((CUDA_SUCCESS) != err) { fprintf(stderr, "Cuda driver error %x in file \'%s\' in line %i.\n", err, "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 45); exit(1); }  } ; 
# 46
if ((major > 0) && (major < 9999)) { 
# 47
best_SM_arch = ((best_SM_arch > major) ? best_SM_arch : major); 
# 48
}  
# 49
current_device++; 
# 50
}  
# 53
current_device = 0; 
# 54
while (current_device < device_count) { 
# 55
{ CUresult err = cuDeviceGetAttribute(&multiProcessorCount, CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT, current_device); if ((CUDA_SUCCESS) != err) { fprintf(stderr, "Cuda driver error %x in file \'%s\' in line %i.\n", err, "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 57); exit(1); }  } ; 
# 58
{ CUresult err = cuDeviceGetAttribute(&clockRate, CU_DEVICE_ATTRIBUTE_CLOCK_RATE, current_device); if ((CUDA_SUCCESS) != err) { fprintf(stderr, "Cuda driver error %x in file \'%s\' in line %i.\n", err, "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 60); exit(1); }  } ; 
# 62
if ((major == 9999) && (minor == 9999)) { 
# 63
sm_per_multiproc = 1; 
# 64
} else { if (major <= 2) { 
# 65
sm_per_multiproc = ((arch_cores_sm)[major]); 
# 66
} else { 
# 67
sm_per_multiproc = ((arch_cores_sm)[2]); 
# 68
}  }  
# 70
int compute_perf = ((multiProcessorCount * sm_per_multiproc) * clockRate); 
# 71
if (compute_perf > max_compute_perf) { 
# 73
if (best_SM_arch > 2) { 
# 75
if (major == best_SM_arch) { 
# 76
max_compute_perf = compute_perf; 
# 77
max_perf_device = current_device; 
# 78
}  
# 79
} else { 
# 80
max_compute_perf = compute_perf; 
# 81
max_perf_device = current_device; 
# 82
}  
# 83
}  
# 84
++current_device; 
# 85
}  
# 86
return max_perf_device; 
# 87
} 
# 90
inline void __cuSafeCallNoSync(CUresult err, const char *file, const int line) 
# 91
{ 
# 92
if ((CUDA_SUCCESS) != err) { 
# 93
fprintf(stderr, "cuSafeCallNoSync() Driver API error = %04d from file <%s>, line %i.\n", err, file, line); 
# 95
exit(-1); 
# 96
}  
# 97
} 
# 98
inline void __cuSafeCall(CUresult err, const char *file, const int line) 
# 99
{ 
# 100
__cuSafeCallNoSync(err, file, line); 
# 101
} 
# 103
inline void __cuCtxSync(const char *file, const int line) 
# 104
{ 
# 105
CUresult err = cuCtxSynchronize(); 
# 106
if ((CUDA_SUCCESS) != err) { 
# 107
fprintf(stderr, "cuCtxSynchronize() API error = %04d in file <%s>, line %i.\n", err, file, line); 
# 109
exit(-1); 
# 110
}  
# 111
} 
# 113
inline void __cuCheckMsg(const char *msg, const char *file, const int line) 
# 114
{ 
# 115
CUresult err = cuCtxSynchronize(); 
# 116
if ((CUDA_SUCCESS) != err) { 
# 117
fprintf(stderr, "cutilDrvCheckMsg -> %s", msg); 
# 118
fprintf(stderr, "cutilDrvCheckMsg -> cuCtxSynchronize API error = %04d in file <%s>, line %i.\n", err, file, line); 
# 120
exit(-1); 
# 121
}  
# 122
} 
# 128
inline void cutilDeviceInitDrv(int cuDevice, int ARGC, char **ARGV) 
# 129
{ 
# 130
cuDevice = 0; 
# 131
int deviceCount = 0; 
# 132
CUresult err = cuInit(0); 
# 133
if ((CUDA_SUCCESS) == err) { 
# 134
__cuSafeCallNoSync(cuDeviceGetCount(&deviceCount), "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 134); }  
# 135
if (deviceCount == 0) { 
# 136
fprintf(stderr, "CUTIL DeviceInitDrv error: no devices supporting CUDA\n"); 
# 137
exit(-1); 
# 138
}  
# 139
int dev = 0; 
# 140
cutGetCmdLineArgumenti(ARGC, (const char **)ARGV, "device", &dev); 
# 141
if (dev < 0) { dev = 0; }  
# 142
if (dev > (deviceCount - 1)) { dev = (deviceCount - 1); }  
# 143
__cuSafeCallNoSync(cuDeviceGet(&cuDevice, dev), "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 143); 
# 144
char name[100]; 
# 145
cuDeviceGetName(name, 100, cuDevice); 
# 146
if ((cutCheckCmdLineFlag(ARGC, (const char **)ARGV, "quiet")) == (CUTFalse)) { 
# 147
fprintf(stderr, "Using CUDA device [%d]: %s\n", dev, name); }  
# 148
} 
# 152
inline void cutilDrvCudaCheckCtxLost(const char *errorMessage, const char *file, const int line) 
# 153
{ 
# 154
CUresult err = cuCtxSynchronize(); 
# 155
if ((CUDA_ERROR_INVALID_CONTEXT) != err) { 
# 156
fprintf(stderr, "Cuda error: %s in file \'%s\' in line %i\n", errorMessage, file, line); 
# 158
exit(-1); 
# 159
}  
# 160
err = cuCtxSynchronize(); 
# 161
if ((CUDA_SUCCESS) != err) { 
# 162
fprintf(stderr, "Cuda error: %s in file \'%s\' in line %i\n", errorMessage, file, line); 
# 164
exit(-1); 
# 165
}  
# 166
} 
# 169
inline bool cutilDrvCudaDevCapabilities(int major_version, int minor_version, int deviceNum) 
# 170
{ 
# 171
int major, minor, dev; 
# 172
char device_name[256]; 
# 178
__cuSafeCallNoSync(cuDeviceGet(&dev, deviceNum), "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 178); 
# 179
__cuSafeCallNoSync(cuDeviceComputeCapability(&major, &minor, dev), "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 179); 
# 180
__cuSafeCallNoSync(cuDeviceGetName(device_name, 256, dev), "/opt/cuda/C/common/inc/cutil_inline_drvapi.h", 180); 
# 182
if ((major > major_version) || ((major == major_version) && (minor >= minor_version))) 
# 184
{ 
# 185
printf("> Compute SM %d.%d Device Detected\n", major, minor); 
# 186
printf("> Device %d: <%s>\n", dev, device_name); 
# 187
return true; 
# 188
} else 
# 190
{ 
# 191
printf("There is no device supporting CUDA compute capability %d.%d.\n", major_version, minor_version); 
# 192
printf("PASSED\n"); 
# 193
return false; 
# 194
}  
# 195
} 
# 198
inline bool cutilDrvCudaCapabilities(int major_version, int minor_version) 
# 199
{ 
# 200
return cutilDrvCudaDevCapabilities(major_version, minor_version, 0); 
# 201
} 
# 23 "/opt/cuda/C/common/inc/cutil_inline.h"
inline void print_NVCC_min_spec(const char *sSDKsample, const char *sNVCCReq, const char *sDriverReq) 
# 24
{ 
# 25
printf("CUDA %d.%02d Toolkit built this project.\n", 3000 / 1000, 3000 % 100); 
# 26
printf("  [ %s ] requirements:\n", sSDKsample); 
# 27
printf(" -> CUDA %s Toolkit\n", sNVCCReq); 
# 28
printf(" -> %s NVIDIA Display Driver.\n", sDriverReq); 
# 29
} 
# 88 "../definitions.h"
__loc_sc__(__constant__,,) float __shadow_var(,scoringsMatrix)[26][26]; 
# 16 "../typedefs.h"
typedef 
# 14
struct { 
# 15
float value[8][8]; 
# 16
} LocalMatrix; 
# 21
typedef 
# 19
struct { 
# 20
LocalMatrix matrix[((58 * 8) / 8)][((15 * 8) / 8)]; 
# 21
} ScoringsMatrix; 
# 26
typedef 
# 24
struct { 
# 25
ScoringsMatrix metaMatrix[25][323]; 
# 26
} GlobalMatrix; 
# 30
typedef 
# 28
struct { 
# 29
float value[((58 * 8) / 8)][((15 * 8) / 8)]; 
# 30
} BlockMaxima; 
# 34
typedef 
# 32
struct { 
# 33
BlockMaxima blockMaxima[25][323]; 
# 34
} GlobalMaxima; 
# 38
typedef 
# 36
struct { 
# 37
unsigned char value[8][8]; 
# 38
} LocalDirection; 
# 42
typedef 
# 40
struct { 
# 41
LocalDirection localDirection[((58 * 8) / 8)][((15 * 8) / 8)]; 
# 42
} Direction; 
# 46
typedef 
# 44
struct { 
# 45
Direction direction[25][323]; 
# 46
} GlobalDirection; 
# 58
typedef 
# 48
struct { 
# 49
unsigned sequence; 
# 50
unsigned target; 
# 51
unsigned blockX; 
# 52
unsigned blockY; 
# 53
unsigned valueX; 
# 54
unsigned valueY; 
# 55
float score; 
# 56
float maxScore; 
# 57
float posScore; 
# 58
} StartingPoint; 
# 62
typedef 
# 60
struct { 
# 61
StartingPoint startingPoint[((25 * 323) * 1000)]; 
# 62
} StartingPoints; 
# 66
typedef 
# 64
struct { 
# 65
float value[323]; 
# 66
} TargetMaxima; 
# 70
typedef 
# 68
struct { 
# 69
float value[25]; 
# 70
} SequenceMaxima; 
# 27 "../smithwaterman.h"
void init(char **, char **, char **, char **, GlobalMatrix **, GlobalMatrix **, GlobalMaxima **, GlobalMaxima **, GlobalDirection **, GlobalDirection **, GlobalDirection **, StartingPoints **, StartingPoints **, float **, float **, dim3, int); 
# 39
void initZeroCopy(unsigned **); 
# 42
void calculateScoreHost(GlobalMatrix *, char *, char *, GlobalMaxima *, GlobalDirection *); 
# 55
extern "C" void calculateScore(GlobalMatrix *, unsigned, unsigned, unsigned, char *, char *, GlobalMaxima *, GlobalDirection *); 
# 58
void tracebackHost(GlobalMatrix *, GlobalMaxima *, GlobalDirection *, GlobalDirection *, unsigned *, StartingPoints *, float *, int); 
# 60
extern "C" void traceback(GlobalMatrix *, unsigned, unsigned, unsigned, GlobalMaxima *, GlobalDirection *, GlobalDirection *, unsigned *, StartingPoints *, float *, int); 
# 63
void plotAlignments(char *, char *, GlobalDirection *, unsigned, StartingPoints *, int, int, char *, char *); 
# 16 "../smithwaterman.cu"
void init(char **h_sequences, char **h_targets, char **
# 17
d_sequences, char **d_targets, GlobalMatrix **
# 18
h_matrix, GlobalMatrix **d_matrix, GlobalMaxima **
# 19
h_globalMaxima, GlobalMaxima **d_globalMaxima, GlobalDirection **
# 20
d_globalDirection, GlobalDirection **
# 21
h_globalDirectionZeroCopy, GlobalDirection **d_globalDirectionZeroCopy, StartingPoints **
# 22
h_startingPointsZeroCopy, StartingPoints **d_startingPointsZeroCopy, float **
# 23
h_maxPossibleScoreZeroCopy, float **d_maxPossibleScoreZeroCopy, dim3 
# 24
superBlocks, int 
# 25
device) { 
# 27
if (!(*h_sequences)) { 
# 28
(*h_sequences) = ((char *)malloc((((58 * 8) * sizeof(char)) * (25)) * (superBlocks.x))); }  
# 30
if (!(*h_targets)) { 
# 31
(*h_targets) = ((char *)malloc((((15 * 8) * sizeof(char)) * (323)) * (superBlocks.y))); }  
# 33
__cudaSafeCall(cudaMalloc((void **)d_sequences, sizeof(char) * ((58 * 8) * 25)), "../smithwaterman.cu", 33); 
# 34
__cudaSafeCall(cudaMalloc((void **)d_targets, sizeof(char) * ((15 * 8) * 323)), "../smithwaterman.cu", 34); 
# 37
cudaMalloc((void **)d_matrix, sizeof(GlobalMatrix)); 
# 38
if (!(*h_matrix)) { 
# 39
(*h_matrix) = ((GlobalMatrix *)malloc(sizeof(GlobalMatrix))); }  
# 41
cudaMalloc((void **)d_globalMaxima, sizeof(GlobalMaxima)); 
# 42
if (!(*h_globalMaxima)) { 
# 43
(*h_globalMaxima) = ((GlobalMaxima *)malloc(sizeof(GlobalMaxima))); }  
# 45
cudaMalloc((void **)d_globalDirection, sizeof(GlobalDirection)); 
# 47
cudaHostAlloc((void **)h_startingPointsZeroCopy, sizeof(StartingPoints), 2); 
# 48
cudaHostGetDevicePointer((void **)d_startingPointsZeroCopy, (void *)(*h_startingPointsZeroCopy), 0); 
# 50
cudaHostAlloc((void **)h_maxPossibleScoreZeroCopy, (sizeof(float) * (25)) * (superBlocks.x), 2); 
# 51
cudaHostGetDevicePointer((void **)d_maxPossibleScoreZeroCopy, (void *)(*h_maxPossibleScoreZeroCopy), 0); 
# 54
cudaHostAlloc((void **)h_globalDirectionZeroCopy, sizeof(GlobalDirection), 2); 
# 55
cudaHostGetDevicePointer((void **)d_globalDirectionZeroCopy, (void *)(*h_globalDirectionZeroCopy), 0); 
# 57
fprintf(stderr, "%d mb of memory allocated on device number: %d\n", (int)(((((((sizeof(char) * ((15 * 8) * 323)) + (sizeof(char) * ((58 * 8) * 25))) + sizeof(GlobalMatrix)) + sizeof(GlobalMaxima)) + sizeof(GlobalDirection)) / (1024)) / (1024)), device); 
# 61
} 
# 63
void initZeroCopy(unsigned **d_indexIncrement) { 
# 65
cudaMalloc((void **)d_indexIncrement, sizeof(int)); 
# 66
unsigned index[1]; 
# 67
(*(index)) = (0); 
# 68
cudaMemcpy(*d_indexIncrement, index, sizeof(int), cudaMemcpyHostToDevice); 
# 70
} 
# 74
void calculateScoreHost(GlobalMatrix *d_matrix, char *d_sequences, char *d_targets, GlobalMaxima *d_globalMaxima, GlobalDirection *d_globalDirection) { 
# 75
unsigned maxNumberOfBlocks = (min((58 * 8) / 8, (15 * 8) / 8)); 
# 76
unsigned startDecreaseAt = ((((58 * 8) / 8) + ((15 * 8) / 8)) - maxNumberOfBlocks); 
# 77
unsigned numberOfBlocks = (0); 
# 78
unsigned x = (0); 
# 79
unsigned y = (0); 
# 80
dim3 dimBlock(8, 8, 1); 
# 84
for (unsigned i = (1); i < (((58 * 8) / 8) + ((15 * 8) / 8)); ++i) { 
# 85
if (i <= maxNumberOfBlocks) { 
# 86
numberOfBlocks = i; } else { 
# 87
if (i >= startDecreaseAt) { 
# 88
numberOfBlocks = ((((58 * 8) / 8) + ((15 * 8) / 8)) - i); } else { 
# 90
numberOfBlocks = maxNumberOfBlocks; }  }  
# 91
dim3 dimGridSW(25, (323) * numberOfBlocks, 1); 
# 94
cudaConfigureCall(dimGridSW, dimBlock) ? ((void)0) : calculateScore(d_matrix, x, y, numberOfBlocks, d_sequences, d_targets, d_globalMaxima, d_globalDirection); 
# 95
cudaThreadSynchronize(); 
# 96
if (x == (((58 * 8) / 8) - 1)) { 
# 97
++y; }  
# 98
if (x < (((58 * 8) / 8) - 1)) { 
# 99
++x; }  
# 100
}  
# 101
} 
# 113
void calculateScore(GlobalMatrix *
# 114
matrix, unsigned x, unsigned y, unsigned numberOfBlocks, char *
# 115
sequences, char *targets, GlobalMaxima *
# 116
globalMaxima, GlobalDirection *
# 117
globalDirection);
#if 0
 
# 118
{ 
# 124
#if 0
float 
# 124
s_matrix[(8 + 1)][(8 + 1)]; 
#endif
# 131 "../smithwaterman.cu"
#if 0
float 
# 131
s_maxima[8][8]; 
#endif
# 135 "../smithwaterman.cu"
unsigned blockx = (x - ((blockIdx.y) / (323))); 
# 136
unsigned blocky = (y + ((blockIdx.y) / (323))); 
# 137
unsigned tIDx = (threadIdx.x); 
# 138
unsigned tIDy = (threadIdx.y); 
# 139
unsigned bIDx = (blockIdx.x); 
# 140
unsigned bIDy = ((blockIdx.y) % (323)); 
# 141
unsigned char direction = (0); 
# 145
int seqIndex1 = ((tIDx + (bIDx * (58 * 8))) + (blockx * (8))); 
# 146
int seqIndex2 = ((tIDy + (bIDy * (15 * 8))) + (blocky * (8))); 
# 152
float maxPrev = ((0.0)); 
# 153
if ((!(tIDx)) && (!(tIDy))) { 
# 154
if ((blockx) && (blocky)) { 
# 155
maxPrev = max(max((((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[blockx - (1)])[blocky - (1)], (((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[blockx - (1)])[blocky]), (((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[blockx])[blocky - (1)]); 
# 156
} else { 
# 157
if (blockx) { 
# 158
maxPrev = ((((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[blockx - (1)])[blocky]); 
# 159
} else { 
# 160
if (blocky) { 
# 161
maxPrev = ((((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[blockx])[blocky - (1)]); 
# 162
}  }  }  
# 163
}  
# 165
float currentScore, ulS, lS, uS; 
# 166
float innerScore = ((0.0)); 
# 171
unsigned tXM1 = tIDx; 
# 172
unsigned tYM1 = tIDy; 
# 175
#if 0
char 
# 175
s_seq1[8]; 
#endif
# 176 "../smithwaterman.cu"
#if 0
char 
# 176
s_seq2[8]; 
#endif
# 179 "../smithwaterman.cu"
if (!(tIDy)) { 
# 180
((s_seq1)[tIDx]) = (sequences[seqIndex1]); }  
# 181
if (!(tIDx)) { 
# 182
((s_seq2)[tIDy]) = (targets[seqIndex2]); }  
# 185
(((s_matrix)[tIDx])[tIDy]) = ((0.0)); 
# 186
(((s_maxima)[tIDx])[tIDy]) = ((0.0)); 
# 188
if ((tIDx == (8 - 1)) && (!(tIDy))) { 
# 189
(((s_matrix)[8])[0]) = ((0.0)); }  
# 190
if ((tIDy == (8 - 1)) && (!(tIDx))) { 
# 191
(((s_matrix)[0])[8]) = ((0.0)); }  
# 194
(((s_matrix)[tIDx])[tIDy]) = ((0.0)); 
# 195
__syncthreads(); 
# 198
if ((!(tIDx)) || (!(tIDy))) { 
# 199
if (tIDx == (8 - 1)) { 
# 200
(((s_matrix)[tIDx + (1)])[tIDy]) = ((0.0)); }  
# 201
if (tIDy == (8 - 1)) { 
# 202
(((s_matrix)[tIDx])[tIDy + (1)]) = ((0.0)); }  
# 203
if ((blockx) && (!(tIDx))) { 
# 204
(((s_matrix)[0])[tIDy + (1)]) = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky]).value)[8 - 1])[tIDy]); 
# 205
}  
# 206
if ((blocky) && (!(tIDy))) { 
# 207
(((s_matrix)[tIDx + (1)])[0]) = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky - (1)]).value)[tIDx])[8 - 1]); 
# 208
}  
# 209
if ((((blockx) && (blocky)) && (!(tIDx))) && (!(tIDy))) { 
# 210
(((s_matrix)[0])[0]) = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky - (1)]).value)[8 - 1])[8 - 1]); 
# 211
}  
# 212
}  
# 214
char charS1 = ((s_seq1)[tIDx]); 
# 215
char charS2 = ((s_seq2)[tIDy]); 
# 217
innerScore = (((charS1 == ('x')) || (charS2 == ('x'))) ? (-(10000000000.0)) : (((__shadow_var(,scoringsMatrix))[charS1 - ('A')])[charS2 - ('A')])); 
# 220
++tIDx; 
# 221
++tIDy; 
# 223
(((s_matrix)[tIDx])[tIDy]) = ((0.0)); 
# 228
__syncthreads(); 
# 230
currentScore = ((0.0)); 
# 233
for (int i = 0; i < (8 + 8); ++i) { 
# 234
if (i == (tXM1 + tYM1)) { 
# 239
ulS = ((((s_matrix)[tXM1])[tYM1]) + innerScore); 
# 240
lS = ((((s_matrix)[tXM1])[tIDy]) + (-(5.0))); 
# 241
uS = ((((s_matrix)[tIDx])[tYM1]) + (-(5.0))); 
# 243
if (currentScore < lS) { 
# 244
currentScore = lS; 
# 245
direction = (3); 
# 246
}  
# 247
if (currentScore < uS) { 
# 248
currentScore = uS; 
# 249
direction = (2); 
# 250
}  
# 251
if (currentScore < ulS) { 
# 252
currentScore = ulS; 
# 253
direction = (1); 
# 254
}  
# 255
(((s_matrix)[tIDx])[tIDy]) = currentScore; 
# 256
} else { 
# 258
if ((i - 1) == (tXM1 + tYM1)) { 
# 260
if (i == 1) { 
# 261
(((s_maxima)[0])[0]) = max(maxPrev, currentScore); 
# 262
} else { 
# 263
if ((!(tXM1)) && (tYM1)) { 
# 264
(((s_maxima)[0])[tYM1]) = max(((s_maxima)[0])[tYM1 - (1)], currentScore); 
# 265
} else { 
# 266
if ((!(tYM1)) && (tXM1)) { 
# 267
(((s_maxima)[tXM1])[0]) = max(((s_maxima)[tXM1 - (1)])[0], currentScore); 
# 268
} else { 
# 269
if ((tXM1) && (tYM1)) { 
# 270
(((s_maxima)[tXM1])[tYM1]) = max(((s_maxima)[tXM1 - (1)])[tYM1], max(((s_maxima)[tXM1])[tYM1 - (1)], currentScore)); 
# 271
}  }  }  }  
# 272
}  }  
# 275
__syncthreads(); 
# 276
}  
# 278
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky]).value)[tXM1])[tYM1]) = (((s_matrix)[tIDx])[tIDy]); 
# 279
((((((((((*globalDirection).direction)[bIDx])[bIDy]).localDirection)[blockx])[blocky]).value)[tXM1])[tYM1]) = direction; 
# 281
if ((tIDx == (8)) && (tIDy == (8))) { 
# 282
((((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[blockx])[blocky]) = max(currentScore, max(((s_maxima)[8 - 2])[8 - 1], ((s_maxima)[8 - 1])[8 - 2])); }  
# 286
__syncthreads(); 
# 287
} 
#endif
# 290 "../smithwaterman.cu"
void tracebackHost(GlobalMatrix *d_matrix, GlobalMaxima *d_globalMaxima, GlobalDirection *d_globalDirection, GlobalDirection *d_globalDirectionZeroCopy, unsigned *d_indexIncrement, StartingPoints *d_startingPoints, float *d_maxPossibleScore, int inBlock) { 
# 291
unsigned maxNumberOfBlocks = (min((58 * 8) / 8, (15 * 8) / 8)); 
# 292
unsigned startDecreaseAt = ((((58 * 8) / 8) + ((15 * 8) / 8)) - maxNumberOfBlocks); 
# 293
unsigned numberOfBlocks = (0); 
# 294
unsigned x = (((58 * 8) / 8) - 1); 
# 295
unsigned y = (((15 * 8) / 8) - 1); 
# 296
dim3 dimBlock(8, 8, 1); 
# 300
for (unsigned i = (1); i < (((58 * 8) / 8) + ((15 * 8) / 8)); ++i) { 
# 301
if (i <= maxNumberOfBlocks) { 
# 302
numberOfBlocks = i; } else { 
# 303
if (i >= startDecreaseAt) { 
# 304
numberOfBlocks = ((((58 * 8) / 8) + ((15 * 8) / 8)) - i); } else { 
# 306
numberOfBlocks = maxNumberOfBlocks; }  }  
# 307
dim3 dimGridSW(25, (323) * numberOfBlocks, 1); 
# 309
cudaConfigureCall(dimGridSW, dimBlock) ? ((void)0) : traceback(d_matrix, x, y, numberOfBlocks, d_globalMaxima, d_globalDirection, d_globalDirectionZeroCopy, d_indexIncrement, d_startingPoints, d_maxPossibleScore, inBlock); 
# 310
cudaThreadSynchronize(); 
# 311
if (y == (0)) { 
# 312
--x; }  
# 313
if (y > (0)) { 
# 314
--y; }  
# 315
}  
# 316
} 
# 318
void traceback(GlobalMatrix *matrix, unsigned x, unsigned y, unsigned numberOfBlocks, GlobalMaxima *globalMaxima, GlobalDirection *globalDirection, GlobalDirection *globalDirectionZeroCopy, unsigned *indexIncrement, StartingPoints *startingPoints, float *maxPossibleScore, int inBlock);
#if 0
 
# 318
{ 
# 324
#if 0
float 
# 324
s_matrix[(8 + 1)][(8 + 1)]; 
#endif
# 328 "../smithwaterman.cu"
#if 0
float 
# 328
s_maxima[1]; 
#endif
# 329 "../smithwaterman.cu"
#if 0
float 
# 329
s_maxPossibleScore[1]; 
#endif
# 332 "../smithwaterman.cu"
unsigned yDIVnumSeq = ((blockIdx.y) / (323)); 
# 333
unsigned blockx = (x - yDIVnumSeq); 
# 334
unsigned blocky = (y + yDIVnumSeq); 
# 335
unsigned tIDx = (threadIdx.x); 
# 336
unsigned tIDy = (threadIdx.y); 
# 337
unsigned bIDx = (blockIdx.x); 
# 338
unsigned bIDy = ((blockIdx.y) % (323)); 
# 340
float value; 
# 342
if ((!(tIDx)) && (!(tIDy))) { 
# 344
((s_maxima)[0]) = ((((((globalMaxima->blockMaxima)[bIDx])[bIDy]).value)[((58 * 8) / 8) - 1])[((15 * 8) / 8) - 1]); 
# 345
((s_maxPossibleScore)[0]) = (maxPossibleScore[bIDx + inBlock]); 
# 346
}  
# 348
__syncthreads(); 
# 349
if (((s_maxima)[0]) >= (200.0)) { 
# 351
(((s_matrix)[tIDx])[tIDy]) = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky]).value)[tIDx])[tIDy]); 
# 353
unsigned char direction = (((((((((globalDirection->direction)[bIDx])[bIDy]).localDirection)[blockx])[blocky]).value)[tIDx])[tIDy]); 
# 358
__syncthreads(); 
# 360
for (int i = ((8 + 8) - 1); i >= 0; --i) { 
# 362
if (((i == (tIDx + tIDy)) && ((((s_matrix)[tIDx])[tIDy]) >= ((1.0) * ((s_maxima)[0])))) && ((((s_matrix)[tIDx])[tIDy]) >= ((s_maxPossibleScore)[0]))) { 
# 365
unsigned index = atomicAdd(indexIncrement, 1); 
# 367
StartingPoint *start = (&((startingPoints->startingPoint)[index])); 
# 368
(start->sequence) = bIDx; 
# 369
(start->target) = bIDy; 
# 370
(start->blockX) = blockx; 
# 371
(start->blockY) = blocky; 
# 372
(start->valueX) = tIDx; 
# 373
(start->valueY) = tIDy; 
# 374
(start->score) = (((s_matrix)[tIDx])[tIDy]); 
# 375
(start->maxScore) = ((s_maxima)[0]); 
# 376
(start->posScore) = ((s_maxPossibleScore)[0]); 
# 379
(((s_matrix)[tIDx])[tIDy]) = __int_as_float(2147483648U | (__float_as_int(((s_matrix)[tIDx])[tIDy]))); 
# 380
}  
# 382
__syncthreads(); 
# 384
if (((i == (tIDx + tIDy)) && ((((s_matrix)[tIDx])[tIDy]) < (0))) && (direction == 1)) { 
# 385
if ((tIDx) && (tIDy)) { 
# 386
value = (((s_matrix)[tIDx - (1)])[tIDy - (1)]); 
# 387
if (value == (0.0)) { 
# 388
direction = (4); } else { 
# 390
(((s_matrix)[tIDx - (1)])[tIDy - (1)]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 391
} else { 
# 392
if (((!(tIDx)) && (tIDy)) && (blockx)) { 
# 393
value = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky]).value)[8 - 1])[tIDy - (1)]); 
# 394
if (value == (0.0)) { 
# 395
direction = (4); } else { 
# 397
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky]).value)[8 - 1])[tIDy - (1)]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 398
} else { 
# 399
if ((((!(tIDx)) && (!(tIDy))) && (blockx)) && (blocky)) { 
# 400
value = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky - (1)]).value)[8 - 1])[8 - 1]); 
# 401
if (value == (0.0)) { 
# 402
direction = (4); } else { 
# 404
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky - (1)]).value)[8 - 1])[8 - 1]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 405
} else { 
# 406
if (((tIDx) && (!(tIDy))) && (blocky)) { 
# 407
value = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky - (1)]).value)[tIDx - (1)])[8 - 1]); 
# 408
if (value == (0.0)) { 
# 409
direction = (4); } else { 
# 411
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky - (1)]).value)[tIDx - (1)])[8 - 1]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 412
}  }  }  }  
# 413
}  
# 414
__syncthreads(); 
# 416
if (((i == (tIDx + tIDy)) && ((((s_matrix)[tIDx])[tIDy]) < (0))) && (direction == 2)) { 
# 417
if (!(tIDy)) { 
# 418
if (blocky) { 
# 419
value = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky - (1)]).value)[tIDx])[8 - 1]); 
# 420
if (value == (0.0)) { 
# 421
direction = (4); } else { 
# 423
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky - (1)]).value)[tIDx])[8 - 1]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 424
}  
# 425
} else 
# 426
{ 
# 427
value = (((s_matrix)[tIDx])[tIDy - (1)]); 
# 428
if (value == (0.0)) { 
# 429
direction = (4); } else { 
# 431
(((s_matrix)[tIDx])[tIDy - (1)]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 432
}  
# 433
}  
# 435
__syncthreads(); 
# 436
if (((i == (tIDx + tIDy)) && ((((s_matrix)[tIDx])[tIDy]) < (0))) && (direction == 3)) { 
# 437
if (!(tIDx)) { 
# 438
if (blockx) { 
# 439
value = ((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky]).value)[8 - 1])[tIDy]); 
# 440
if (value == (0.0)) { 
# 441
direction = (4); } else { 
# 443
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx - (1)])[blocky]).value)[8 - 1])[tIDy]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 444
}  
# 445
} else 
# 446
{ 
# 447
value = (((s_matrix)[tIDx - (1)])[tIDy]); 
# 448
if (value == (0.0)) { 
# 449
direction = (4); } else { 
# 451
(((s_matrix)[tIDx - (1)])[tIDy]) = __int_as_float(2147483648U | (__float_as_int(value))); }  
# 452
}  
# 453
}  
# 455
__syncthreads(); 
# 457
}  
# 460
if ((((s_matrix)[tIDx])[tIDy]) < (0)) { 
# 461
((((((((((*matrix).metaMatrix)[bIDx])[bIDy]).matrix)[blockx])[blocky]).value)[tIDx])[tIDy]) = (((s_matrix)[tIDx])[tIDy]); 
# 462
(((((((((globalDirectionZeroCopy->direction)[bIDx])[bIDy]).localDirection)[blockx])[blocky]).value)[tIDx])[tIDy]) = direction; 
# 463
}  
# 465
__syncthreads(); 
# 466
}  
# 467
} 
#endif
# 471 "../smithwaterman.cu"
void plotAlignments(char *sequences, char *targets, GlobalDirection *globalDirectionZeroCopy, unsigned index, StartingPoints *startingPoints, int offset, int offsetTarget, char *descSequences, char *descTargets) { 
# 473
char *target = (0); 
# 474
char *sequence = (0); 
# 475
char *alignment = (0); 
# 477
target = ((char *)malloc((sizeof(char) * (2)) * ((58 * 8) + (15 * 8)))); 
# 478
sequence = ((char *)malloc((sizeof(char) * (2)) * ((58 * 8) + (15 * 8)))); 
# 479
alignment = ((char *)malloc((sizeof(char) * (2)) * ((58 * 8) + (15 * 8)))); 
# 481
if ((!(offset)) && (!(offsetTarget))) { 
# 483
printf("QUERYLOCUS\tTARGETLOCUS\tRELATIVESCORE\tALIGNMENTLENGTH\tGAPS\tMATCHES\tQUERYSTART\tQUERYEND\tTARGETSTART\tTARGETEND\tSCORE\tTAR" "GETNT\tALIGN\tQUERYNT\n"); }  
# 485
float maxScore = (0); 
# 486
for (int i = 0; i < index; i++) { 
# 488
int alignmentLength = 0, 
# 489
gapsSeq = 0, 
# 490
gapsTarget = 0, 
# 491
matches = 0, 
# 492
mismatches = 0, 
# 493
qEnd = (((((startingPoints->startingPoint)[i]).blockX) * (8)) + (((startingPoints->startingPoint)[i]).valueX)), 
# 494
tEnd = (((((startingPoints->startingPoint)[i]).blockY) * (8)) + (((startingPoints->startingPoint)[i]).valueY)); 
# 508
maxScore = (((((startingPoints->startingPoint)[i]).score) > maxScore) ? (((startingPoints->startingPoint)[i]).score) : maxScore); 
# 510
long targetStartingPoint = (((startingPoints->startingPoint)[i]).target); 
# 511
long sequenceStartingPoint = (((startingPoints->startingPoint)[i]).sequence); 
# 513
long blockX = (((startingPoints->startingPoint)[i]).blockX); 
# 514
long blockY = (((startingPoints->startingPoint)[i]).blockY); 
# 515
long valueX = (((startingPoints->startingPoint)[i]).valueX); 
# 516
long valueY = (((startingPoints->startingPoint)[i]).valueY); 
# 518
long localIndex = (0); 
# 520
unsigned char direction = (((((((((globalDirectionZeroCopy->direction)[sequenceStartingPoint])[targetStartingPoint]).localDirection)[blockX])[blockY]).value)[valueX])[valueY]); 
# 522
while ((((((blockX >= (0)) && (blockY >= (0))) && (valueX >= (0))) && (valueY >= (0))) && (direction != 4)) && (direction != 0)) 
# 523
{ 
# 524
direction = (((((((((globalDirectionZeroCopy->direction)[sequenceStartingPoint])[targetStartingPoint]).localDirection)[blockX])[blockY]).value)[valueX])[valueY]); 
# 528
alignmentLength++; 
# 529
switch (direction) { 
# 530
case 1:  
# 531
(target[localIndex]) = (targets[(((targetStartingPoint * (15 * 8)) + (blockY * (8))) + valueY) + (offsetTarget * (15 * 8))]); 
# 532
(sequence[localIndex]) = (sequences[(((sequenceStartingPoint * (58 * 8)) + (blockX * (8))) + valueX) + (offset * (58 * 8))]); 
# 533
(alignment[localIndex]) = (((target[localIndex]) == (sequence[localIndex])) ? '|' : '.'); 
# 534
matches += (((target[localIndex]) == (sequence[localIndex])) ? 1 : 0); 
# 535
mismatches += (((target[localIndex]) != (sequence[localIndex])) ? 1 : 0); 
# 536
if (valueX == (0)) { 
# 537
blockX--; 
# 538
valueX = (8 - 1); 
# 539
} else { 
# 541
valueX--; }  
# 542
if (valueY == (0)) { 
# 543
blockY--; 
# 544
valueY = (8 - 1); 
# 545
} else { 
# 547
valueY--; }  
# 548
break; 
# 549
case 3:  
# 550
gapsTarget++; 
# 551
(target[localIndex]) = '-'; 
# 552
(sequence[localIndex]) = (sequences[(((sequenceStartingPoint * (58 * 8)) + (blockX * (8))) + valueX) + (offset * (58 * 8))]); 
# 553
(alignment[localIndex]) = ' '; 
# 554
if (valueX == (0)) { 
# 555
blockX--; 
# 556
valueX = (8 - 1); 
# 557
} else { 
# 559
valueX--; }  
# 560
break; 
# 561
case 2:  
# 562
gapsSeq++; 
# 563
(target[localIndex]) = (targets[(((targetStartingPoint * (15 * 8)) + (blockY * (8))) + valueY) + (offsetTarget * (15 * 8))]); 
# 564
(sequence[localIndex]) = '-'; 
# 565
(alignment[localIndex]) = ' '; 
# 566
if (valueY == (0)) { 
# 567
blockY--; 
# 568
valueY = (8 - 1); 
# 569
} else { 
# 571
valueY--; }  
# 572
break; 
# 573
case 4:  
# 574
matches += (((target[localIndex]) == (sequence[localIndex])) ? 1 : 0); 
# 575
(target[localIndex]) = (targets[(((targetStartingPoint * (15 * 8)) + (blockY * (8))) + valueY) + (offsetTarget * (15 * 8))]); 
# 576
(sequence[localIndex]) = (sequences[(((sequenceStartingPoint * (58 * 8)) + (blockX * (8))) + valueX) + (offset * (58 * 8))]); 
# 577
(alignment[localIndex]) = (((target[localIndex]) == (sequence[localIndex])) ? '|' : '.'); 
# 578
break; 
# 579
case 0:  
# 580
default:  
# 581
fprintf(stderr, "Warning: wrong value in direction matrix: %d!\n", direction); 
# 582
blockX = (-1); 
# 583
break; 
# 584
}  
# 585
localIndex++; 
# 586
}  
# 587
if ((((double)((mismatches + gapsSeq) + gapsTarget)) / ((double)alignmentLength)) < (1.0)) { 
# 588
(target[localIndex]) = '\000'; 
# 589
(sequence[localIndex]) = '\000'; 
# 590
(alignment[localIndex]) = '\000'; 
# 594
char swap; 
# 595
for (long iSwap = (0); iSwap < (localIndex / (2)); iSwap++) { 
# 596
swap = (target[iSwap]); 
# 597
(target[iSwap]) = (target[(localIndex - (1)) - iSwap]); 
# 598
(target[(localIndex - (1)) - iSwap]) = swap; 
# 599
swap = (sequence[iSwap]); 
# 600
(sequence[iSwap]) = (sequence[(localIndex - (1)) - iSwap]); 
# 601
(sequence[(localIndex - (1)) - iSwap]) = swap; 
# 602
swap = (alignment[iSwap]); 
# 603
(alignment[iSwap]) = (alignment[(localIndex - (1)) - iSwap]); 
# 604
(alignment[(localIndex - (1)) - iSwap]) = swap; 
# 605
}  
# 607
printf("%s\t%s\t", (descSequences + (((((startingPoints->startingPoint)[i]).sequence) + offset) * (500))) + 1, (descTargets + (((((startingPoints->startingPoint)[i]).target) + offsetTarget) * (500))) + 1); 
# 610
printf("%1.3f\t%i\t%i\t%i\t%i\t%i\t%i\t%i\t%1.0f\t%s\t%s\t%s\n", (((startingPoints->startingPoint)[i]).score) / ((float)alignmentLength), alignmentLength, gapsSeq + gapsTarget, matches, ((qEnd - alignmentLength) + gapsSeq) + 1, qEnd + gapsSeq, ((tEnd - alignmentLength) + gapsTarget) + 1, tEnd - gapsTarget, ((startingPoints->startingPoint)[i]).score, target, alignment, sequence); 
# 613
}  
# 614
}  
# 616
free(target); 
# 617
free(sequence); 
# 618
free(alignment); 
# 619
} 
# 1 "smithwaterman.cudafe1.stub.c"
#include "smithwaterman.cudafe1.stub.c"
